Несколько форм с полями ввода с тем же атрибутом имени? Хорошо или плохо? - PullRequest
26 голосов
/ 19 февраля 2010

Является ли приемлемой практика иметь несколько 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.Но является ли это приемлемой практикой с веб-стандартов или с точки зрения доступности?

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

Ответы [ 3 ]

14 голосов
/ 19 февраля 2010

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

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

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

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

2 голосов
/ 10 января 2013

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

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