Какова цель атрибута name
на input
, span
, или div
теги? Должен ли использоваться тег id
?Какова цель атрибута html name?
Пример из Mozilla's documentation:
<label for="User">Click me</label>
<input type="text" id="User" name="Name" />
Какова цель атрибута name
на input
, span
, или div
теги? Должен ли использоваться тег id
?Какова цель атрибута html name?
Пример из Mozilla's documentation:
<label for="User">Click me</label>
<input type="text" id="User" name="Name" />
Атрибут name
идентифицирует вход value
, если он отправляется на сервер через традиционную форму GET
или POST
.
Конкретные к примеру, если у вас:
<form action="http://localhost" method="POST">
<label for="User">Click me</label>
<input type="text" id="User" name="Name" value="foo" />
<input type="submit" value="submit" />
</form>
и вы отправите форму, сервер localhost
будет получать содержимое тела, как:
Name=foo
, который, как еще один пост упоминается, как правило, анализируется языком на стороне сервера, например PHP, во что-то более удобное для работы.
Атрибут id
идентифицирует входной сигнал DOM
. Если вы укажете вход без name
, но id
и попробуйте отправить его через GET
или POST
, он не будет корректно разбираться сервером.
Если определить связь (а-элемент) и определить для него имя, вы можете использовать его в качестве якоря. См: http://www.w3schools.com/tags/att_a_name.asp
или в более общем плане: https://developer.mozilla.org/en-US/docs/Web/API/Element.name
Эта страница говорит, что атрибут имени недействителен для HTML5 – northben
Атрибут имя, когда вы используете дополнительный язык, таких как PHP для чтения и записи данных в базу данных или других файлов. Чтобы обратиться к текстовому полю выше, вы должны указать его имя, которое является «Имя», и записать значение в текстовое поле «Имя» в базу данных.
Надеется, что это помогает прояснить вещи ..
Следует ли избегать использования jQuery для выбора полей по классам или идентификаторам? – northben
Это что-то другое - jQuery использует имена классов и имена имен. Я знаю, что PHP использует имя тега html для ссылки на него. – heinkasner
Имя должно быть использовано на полях формы, как <input>
, она не должна быть использована на <span>
или <div>
. Имя устарело на якорных меток, и вместо этого вы должны использовать идентификатор.
Проверить это mozilla link больше:
имя получает или задает имя свойства объекта DOM; это относится только к следующим элементам:
<a>
,<applet>
,<button>
,<form>
,<frame>
, ,<img>
,<input>
,<map>
,<meta>
,<object>
,<param>
,<select>
и<textarea>
Какова цель тега имени? Если у меня его нет, какая разница в моей форме? – northben
Если вы отбросите этот атрибут, значение с этого ввода не будет использоваться для отправки на сервер: http://www.w3.org/TR/html5/forms.html#constructing-form-data-set –
В элементе input
атрибут name
определяет имя элемента управления. Только те элементы управления, которые имеют имя, могут быть «успешными», то есть могут вносить вклад в набор данных формы, отправленный на сервер. Таким образом, это необходимо для того, чтобы сделать значение контроля, поданного на обработку на стороне сервера.Атрибут id
не имеет ничего общего с этим; он имеет свое собственное применение, например, помогая связать метку с элементом управления, как в примере.
Следовательно, атрибут name
не требуется, если вам не нужно передать контрольное значение. Например, если у вас есть одна кнопка отправки, например <input type=submit value=Send>
, она вам не нужна; но если у вас несколько кнопок отправки, и вам нужно распознать серверную сторону, какая из них была использована, вам это нужно. Если данные формы не отправляются на серверную обработку, а обрабатываются только при обработке на стороне клиента, атрибут name
не используется, так как вы можете получить доступ к значениям другими способами.
Элементы span
и div
, атрибут name
недействителен во всех HTML-версиях. Если он используется, он просто будет проигнорирован, за исключением того, что он хранится (как и любые недопустимые атрибуты) в свойстве attributes
в DOM и может быть доступен в клиентских сценариях.
Учитывая общий вопрос, как в заголовке вопроса, атрибут name
разрешен и распознан в некоторых элементах, запрещен и игнорируется в других, и, когда это разрешено, его значение определяется в определении элемента. Между этими определениями не так много общего.
Некоторая путаница была вызвана такими утверждениями, как «атрибут name
устарел/устарел». Такие утверждения верны для этого атрибута в некоторых элементах в некоторых версиях HTML, но в элементах input
, например, он остается официальным и необходимым.
имя используется для форм – Hacketo
https://developer.mozilla.org/en-US/docs/Web/API/Element.name – loveNoHate
"имя получает или задает свойство name объекта DOM, оно применяется только к следующие элементы: ,