Как лучше хранить скрытые значения в веб-приложениях, не используя классическую HTML-форму? - PullRequest
0 голосов
/ 02 июля 2011

Я надеюсь, что этот вопрос не бесполезен!но серьезно, это проблема для меня.

, когда я хочу создать пользовательский интерфейс в веб-приложении для (добавления, удаления, редактирования) чего-то, что я использую формы HTML + hidden inputs для хранения some values such as "user id"быть удаленным, отредактированным ..

Я хочу создать тот же интерфейс, используя просто "anchors + span + div" вместо "hidden inputs".когда я пишу код JavaScript, который обрабатывает события "onAdd, onDelete и onEdit", мне нужно знать, что будет удалено?what is the id that will be kicked out from my database?

Вопрос в том, как сохранить этот идентификатор в моих HTML-тегах без использования скрытых входных данных?

что я использую, примерно так:

<div id="userid_133421" >
    <span>Name</span>
    <a id="onDelete">Delete</a>
    <a id="onEdit">Edit</a>
</div>

$("#onDelete").click(function({

        user_id = $(this).parent().attr('id').substring($(this).attr('id').indexOf('_')+1);

        $.post('index.php?component=user&action=remove&user_id=' + user_id, function(data){

        });
    }));

Я проверил некоторые веб-сайты, такие как Dropbox , и обнаружил, что они не используют эту технику для хранения значений (например, идентификатора файла), и даже больше они этого не делают.Для этого не нужно использовать классический скрытый ввод!

Я просто хочу узнать, как вы управляете своим кодом, чтобы выбрать лучший способ?(

Ответы [ 2 ]

3 голосов
/ 02 июля 2011

Если вы используете JQuery, почему бы не использовать функцию data() для хранения информации?

2 голосов
/ 02 июля 2011

Я второй @nfecher!Вот как я делаю это прямо сейчас в приложении, над которым я работаю!Мы храним идентификаторы в data-myAppName-itemTypeId.MyAppName создает псевдо-пространство имен, чтобы избежать конфликтов с другими плагинами, которые могут использовать те же атрибуты data- *: например, data-stackoverflow-commentId = "4". Нет необходимости в скрытых входах вообще !!Вы можете следовать одному стилю для всех элементов.Если это универсальная функция удаления, вы можете найти имя родительского класса и решить, какой атрибут data- * вы хотите получить!

...