Хранение скрытых значений в HTML (для всплывающей подсказки, ошибки, значения по умолчанию) Рекомендации - PullRequest
6 голосов
/ 12 февраля 2010

Я только что увидел этот плагин метаданных JQuery от Джона Резига, Иегуды Каца, Ярна Зафферера и Пола Макланахана, в моем поиске проверки формы JQuery , и это интересная идея!

Мне интересно, каковы общие рекомендации по хранению таких вещей, как текст ошибки / проверки, текст всплывающей подсказки, текст значения по умолчанию и т. Д. Я знаю, что вы можете поместить их в атрибут title="My Tooltip Message", но это будет очень грязно и не было бы СУХОГО, если бы многие из моих предметов имели, так сказать, одинаковые всплывающие подсказки и ошибки.

Значит, что-то не так с хранением всего этого в скрытых полях ввода или html метаданных ? Или есть лучший способ просто сохранить все это в файле конфигурации XML и вывести их через JQuery?

Ответы [ 3 ]

4 голосов
/ 12 февраля 2010

HTML5 поддерживает пользовательские атрибуты, начинающиеся с «data-», например: «data-origvalue» может хранить исходное значение ввода, которое может быть использовано позже, чтобы определить, изменил ли пользователь его.

JQuery 1.4 теперь поддерживает это изначально, используя функции .data (): http://api.jquery.com/data/

Если вы не собираетесь использовать JQuery, официальная рекомендация о том, чтобы использовать что-то вроде «data-LIBRARYNAME-ATTRNAME», например: data-jquery-origvalue, поэтому никакие две библиотеки конфликт. Я предлагаю вам следовать этому и придумать какую-то уникальную для "LIBRARYNAME" часть.

0 голосов
/ 12 февраля 2010

Вы также можете хранить все вещи прямо в файле JS - который может быть создан по требованию с помощью ASP.NET или PHP, поэтому вы будете редактировать все сообщения в нужном вам формате, а затем просто выводить их в виде массива js. или что-то.

0 голосов
/ 12 февраля 2010

Ну, я бы сохранял всплывающие подсказки в теге "title", учитывая, что это поддерживаемое местоположение для него.

Что касается других метаданных? Зависит. Обычно я буду хранить их в готовых свойствах самого объекта, потому что это также поддерживается. Впрочем, до личных предпочтений, ИМХО. Если бы я этого не сделал, я бы сохранил их на карте своего рода во вторичном файле .js, но это стало бы раздражающим в управлении.

...