Какова цель атрибута `name` в элементе ввода флажка? - PullRequest
15 голосов
/ 02 сентября 2010

Я просмотрел много онлайн-документов для ввода флажка в XHTML. Кто-нибудь может очистить мои сомнения? Что означает это поле name?

Milk: <input type="checkbox" name="checkbox" value="Milk">
Chocolate: <input type="checkbox" name="checkbox" value="chocolate">
Cold Drink: <input type="checkbox" name="checkbox" value="Cold Drink">

Я думал, что это был идентификатор для этого конкретного флажка, который позже можно использовать в другом файле, просто ссылаясь на его имя, но, учитывая, что все флажки имеют одно и то же имя, зачем даже его указывать? Немного смущен этим.

Ответы [ 3 ]

25 голосов
/ 02 сентября 2010

Не путайте из-за name="checkbox". Более логично может быть name="drink" и type=checkbox.

В приведенном выше случае у вас есть несколько флажков с одинаковым именем. Если несколько флажков имеют одно и то же имя, форма отправит группу значений на сервер в запросе. Примечание: на сервер будут отправлены только значения флажков .

В идеале они используются для разрешения вопросов с несколькими вариантами ответов, когда допускается более одного ответа. В отличие от переключателей, где только один из вариантов разрешен.

Обновление:

На принимающей стороне, например, если вы используете JSP - значения выбранных флажков будут доступны как request.getParameterValues("drink") или request.getParameterValues("checkbox") в вашем реальном случае. Здесь используется атрибут name.

6 голосов
/ 02 сентября 2010

Атрибут name используется для ссылки на данные формы после ее отправки и для ссылки на данные с помощью JavaScript на стороне клиента.

Источник: http://reference.sitepoint.com/html/input/name

В основном то, что вы описали.Когда форма отправлена, вы можете получить доступ к значениям элементов формы через name, который вы им присваиваете.

Единственное место, где вы хотите иметь несколько input s с одинаковыми name, это когда они являются переключателями, и в этом случае он используется для указания, какой из них принадлежит к той же группеи, таким образом, только один из которых может быть выбран за один раз.

0 голосов
/ 02 сентября 2010

«имя» совпадает с записью базы данных, каждое поле должно иметь имя, поэтому при нажатии кнопки «Отправить» данные будут записаны в базу данных ~~~~~

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