2010-02-11 1 views
6

Я только что видел это JQuery Metadata Plugin от Джона Резига, Иегуды Каца, Ярна Зафферера и Пола МакЛанахяна, в поисках JQuery Form Validation, и это интересная идея!Хранение скрытых значений в HTML (для подсказки, ошибок, значений по умолчанию) Лучшие практики

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

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

ответ

4

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

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

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

+0

Можно ли начать использовать HTML 5 для этого, будет ли он работать с перекрестным браузером? –

+0

@viatropos Это определенно будет работать и отображать штраф, но не будет проходить проверку w3c, если вам это интересно. –

0

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

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

0

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