#html
#HTML
Вопрос:
Если я не указываю атрибут name в теге, все ли в форме отправлено успешно?
Я знаю, что without name не отправляется ни в GET, ни в POST
Комментарии:
1. Да, все значения элементов управления формы с
[name]
отправляются за одним исключением:<output>
. Если вы хотите отправить значение<output>
просто скопируйте его в<input type='hidden'>
. Кроме того, если у вас есть группа переключателей, которые имеют одинаковое[name]
значение, отправляется только значение выбранного переключателя.2. проверь по ответу, братан, я тебе обязательно помогу.
Ответ №1:
Отправка <form>
«Отправляется ли форма, если у тега нет атрибута name (а дочерние элементы в форме имеют атрибут name?»
- Да, все значения элементов управления формы1 с
[name]
и вложенные в тег<form>
2 отправляются с одним исключением:<output>
. Если вы хотите отправить значение<output>
просто скопируйте его в<input type='hidden'>
. - Формам не требуется
[name]
атрибут для отправки значений своих дочерних тегов или для себя (поскольку формы фактически не имеют атрибутов value). - Если у вас есть группа переключателей, которые имеют одинаковый
[name]
— отправляется только значение выбранного переключателя. - У
<button>
тега есть поведение по умолчанию, когда он вложен в форму, он будет действовать как<input type="submit">
. Поэтому не забудьте добавитьtype="button"
к<button>
элементам, которые являются просто кнопками для запуска события click вместо события submit. - Если в форме установлен фокус и нажата клавиша enter (return для компьютеров Mac), также запускается событие отправки.
1Дочерние теги <form>
тега, которые имеют [name]
значение /, отправленное во время отправки, известны как успешные элементы управления.
2Если элемент управления формы не является дочерним элементом формы, связь может быть включена путем назначения элемента управления form="FORMID"
ДЕМОНСТРАЦИЯ
<form>
[action]
: Отправляет на тестовый сервер в режиме реального времени[target]
:[name]
iframe, который отображает ответ сервера[onchange]
: Всякий раз, когда пользователь оставляет данные в форме —<output>
отображает значение выбранного переключателя и<output>
присваивает значение также скрытому вводу.
#ui {
width: 300px;
}
#out,
button,
[type=submit] {
float: right;
}
<form id='main' action='https://httpbin.org/post' method='post' target='response' onchange='out.value = rad.value; inv.value = out.value; return false'>
<fieldset id='ui'>
<legend>Submitting a Form</legend>
<fieldset>
<input id='xA' name='rad' type='radio' value='A'> A
<input id='xB' name='rad' type='radio' value='B'> B
<input id='xC' name='rad' type='radio' value='C'> C
<input id='xD' name='rad' type='radio' value='D'> D
<output id='out' name='out' for='xA xB xC xD inv'></output>
<input id='inv' name='inv' type='hidden'>
</fieldset>
<button>amp;<buttonamp;></button>
<input type='submit'>
</fieldset>
</form>
<iframe name='response'></iframe>
Ответ №2:
да, форма будет отправлена, даже если у нее нет имени. проверьте приведенный ниже код, он вам все объяснит.
Нажмите на кнопку отправки, форма отправится, даже если у нее нет имени, действия и т.д. Кнопки отправки достаточно, чтобы отправить форму.
Если вы не упоминаете meathod, то тип отправки по умолчанию — «Get» meathod
<form action='/cloud' meathod="get">
<input type ="submit" value="submit"/>
</form>
Ответ №3:
Да!
К вашему СВЕДЕНИЮ — использование атрибутов name в формах не рекомендуется для id в HTML5. Смотрите примечание MDN об этом.
Имя формы. В HTML 4 его использование устарело (вместо него следует использовать id). Он должен быть уникальным среди форм в документе, а не просто пустой строкой в HTML 5.
Правки:
- исправлена опечатка из предыдущего поста на мобильном устройстве, из-за которой казалось, что я предполагал, что
<input>
атрибуты name устарели. - Добавлена цитата из MDN
Комментарии:
1. MDN неверен или, по крайней мере, вводит в заблуждение. Атрибут name в элементах формы не является устаревшим ни в HTML 4, ни в HTML 5. Это правда, что спецификация HTML 4 поощряет использование id вместо этого, но формально не осуждает атрибут. HTML 5 даже этого не делает. Определение атрибута name в элементе формы в HTML 4 . Определение атрибута name в элементе формы в HTML 5
Ответ №4:
да, у вас есть метод give form, подобный:
<form method="post OR get">
</form>
а также укажите имя элемента, потому что имя элемента используется для публикации значения этого элемента.