Отправляется ли форма, если тег <form>не имеет атрибута имени (а дочерние элементы <input>в форме имеют атрибут имени? - PullRequest
1 голос
/ 18 марта 2019

Если я не указываю атрибут имени в теге, все ли в форме успешно отправлено?

Я знаю, что без имени не отправляется ни в GET, ни в POST

Ответы [ 4 ]

1 голос
/ 18 марта 2019

Да!

К вашему сведению - использование атрибутов имени в формах не рекомендуется для идентификатора в HTML5.См. примечание MDN об этом .

Название формы.В HTML 4 его использование устарело (вместо него следует использовать id).Он должен быть уникальным среди форм в документе, а не просто пустой строкой в ​​HTML 5.

Правка :

  1. исправлена ​​опечатка из ранеесообщение на мобильном телефоне, из-за которого мне показалось, что <input> атрибуты имени устарели.
  2. Добавлена ​​цитата из MDN
1 голос
/ 19 марта 2019

Отправка <form>

"Отправляется ли форма, если у тега нет атрибута имени (а дочерние элементы в форме имеют атрибут имени?"

  • Да, все значения элементов управления формы 1 с [name] и вложенными в тег * <form> 2 передаются с одним исключением: <output>. Если вы хотите отправить значение <output>, просто скопируйте его в <input type='hidden'>.
  • Для форм не требуется атрибут [name] для отправки значений своих дочерних тегов или для себя (поскольку формы фактически не имеют атрибутов значений).
  • Если у вас есть группа переключателей с одинаковыми значениями [name] - отправляется только значение выбранного переключателя.
  • Существует поведение по умолчанию, которое тег <button> имеет при вложении в форму, он будет действовать как <input type="submit">. Поэтому не забудьте добавить type="button" к <button> s, которые являются просто кнопками для запуска события щелчка вместо события отправки.
  • Если фокус установлен в форме и нажата клавиша enter ( return для Mac), также запускается событие отправки.

1 Дочерние теги тега <form>, имеющие значение [name] /, отправленное во время отправки, известны как успешных элементов управления .
2 Если элемент управления формы не является дочерним элементом формы, связь можно включить, назначив элемент управления form="FORMID"


Демо

<form>

  • [action]: отправка на тестовый сервер в режиме реального времени
  • [target]: [name] фрейма, отображающего ответ сервера
  • [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>&lt;button&gt;</button>
    <input type='submit'>
  </fieldset>
</form>
<iframe name='response'></iframe>
1 голос
/ 18 марта 2019

да, форма будет отправлена, даже если у нее нет имени.проверьте приведенный ниже код, который вам объяснит.

Нажмите кнопку «Отправить», чтобы отправить форму, даже если у нее нет имени, действия и т. д. Для отправки формы достаточно кнопки «Отправить».

Если вы не упомянули meathod, то тип отправки по умолчанию - "Get" meathod

<form action='/cloud' meathod="get">
<input type ="submit" value="submit"/>
</form>
0 голосов
/ 19 марта 2019

да, у вас есть метод формы, например:

<form method="post OR get">
</form>

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

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