Мобильные и уникальные атрибуты идентификатора jQuery в формах - PullRequest
1 голос
/ 19 марта 2012

У меня есть вопрос, касающийся использования атрибута ID в формах при использовании мобильного телефона jQuery.Хотя то, что у меня есть, кажется функциональным, я бы хотел привести все в согласованное и точное состояние.

Мобильная документация jQuery гласит:

При создании форм, которые будутиспользуется в jQuery Mobile, большинство стандартных руководств, используемых для создания форм, которые отправляются через обычную HTTP-публикацию или все еще применяются.Однако следует иметь в виду, что атрибуты id элементов управления формы должны быть не только уникальными на данной странице, но и уникальными для всех страниц сайта.Это связано с тем, что одностраничная навигационная модель jQuery Mobile позволяет одновременно присутствовать в DOM множеству разных «страниц», поэтому вы должны быть осторожны, чтобы использовать уникальные атрибуты id, чтобы в DOM был только один из них (иконечно, не забудьте правильно соединить их с элементами метки через атрибут for).

У меня есть многостраничный веб-сайт.1 форма на страницу.Все формы на всех страницах имеют уникальный идентификатор, основанный на имени страницы (например, страница «return-user-details.php» получает идентификатор формы id = «rudForm»).

Многие из нихстраницы, однако, нуждаются в том же поле ввода (элемент текстового поля (он же элемент управления формы?) для имени пользователя).Все они используют атрибут и значение name = "username".У них нет атрибута ID.

В настоящее время это конкретное поле представлено в виде:

<legend>Username:</legend>
<input type="text" name="username" maxlength="20" /><label for="username">&nbsp;</label>

Мой главный вопрос заключается в том, нужно ли мне иметь уникальный идентификатор для текстового поля имени пользователя на всех страницах, а также в формеID, или я могу обойтись с id = "username" для этого поля на всех страницах?Я полагаю, что ответ на этот вопрос также будет применяться к каждому элементу / форме управления?(и, следовательно, возможно, было бы неплохо использовать «префикс страницы» для каждого идентификатора в форме на странице).

Как я уже сказал, в настоящее время я могу использовать разные страницы, каждая из которых содержитэто поле, и они, кажется, функционируют нормально, и поэтому мой следующий вопрос касается того, что может пойти не так, используя приведенное выше?Хотя я понимаю абстрактную концепцию «присутствия нескольких страниц в DOM» (например, требуя, чтобы вещи были уникальными), я не достаточно хорошо понимаю jQuery, чтобы понять, как это может привести к проблемам.Может ли это привести к проблемам стиля / форматирования?Или, может быть, также неверные данные отправляются?

Большое спасибо,

Роб

1 Ответ

2 голосов
/ 19 марта 2012

Не допускается, чтобы несколько элементов имели одинаковый атрибут id в одном документе HTML.Если вы не указали идентификатор, он будет создан для вас за кулисами или оставлен пустым.В любом случае не должно быть конфликта атрибутов id.

edit: Мы также повторно используем элементы управления на нашем мобильном сайте jQuery, и, как и у вас, никто из нас не указывает атрибут id.Это прекрасно работает и уже почти год выпускается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...