2010-02-18 1 views
26

Является ли приемлемой практикой иметь несколько HTML-форм на странице с полями ввода, которые имеют один и тот же атрибут имени? Например, страница содержит список всех игроков и пользователей могут голосовать за лучшим игрок так рядом каждый игрок карту Существует такая форма:Несколько форм с полями ввода с одинаковым атрибутом имени? Хорошо или плохо?

<form class="vote-for-player" enctype="application/x-www-form-urlencoded" method="post" action="/index/vote-for-best-player"> 
    <input type="hidden" name="player_id" value="1" /> 
    <input type="submit" name="vote_for_player" value="Vote" class="input-submit" /> 
</form> 

атрибут Значения поля ввода скрытого отличается для каждого форма, конечно.

Предположим, что на странице имеется 20 форм, так что это означает 20 полей ввода с именем, равным «player_id». Если я передаю эту страницу с помощью HTML-валидатора, она действительна даже с XHTML 1.0 Strict doctype. Но является ли это приемлемой практикой из веб-стандартов или перспективы доступности?

Одна вещь, которую я точно знаю, облегчает обработку страницы на стороне сервера, так как мне просто нужно загрузить значение из одного поля POST с именем player_id.

ответ

14

Согласен с ответом выше. Имя полностью одобрено и будет передано как параметр ответа вашей формы. Разная история будет, если ваши элементы ввода будут иметь одинаковые идентификаторы, - некоторые браузеры могут столкнуться с проблемами, связанными с документом.

Опять же, думать кучу кнопок радио, где пользователи могут выбрать пол и т.д. Они должны иметь такое же имя (но разные идентификаторы) ...

+0

Что касается повторяющихся идентификаторов: http://www.w3.org/TR/WCAG20-TECHS/F77. html и http://www.w3.org/TR/WCAG20-TECHS/H93 .html – danielnixon

4

Да, это действительно так, я делаю это все время.

2

да это совершенно нормально .. на самом деле я лично считаю, что его на самом деле это хорошая практика, так как для разработчиков довольно удобно работать с относительно меньшими именами по сравнению с их связью. Более того, когда элементы находятся в разных формах, доза не вызывает столкновения пространства имен, так как для идентификации элементов в js по имени мы используем как имя формы, так и имя поля ввода, чтобы доза не вызывала никаких проблем ...