HTML Атрибуты ввода form*

Эта глава описывает различные атрибуты, имеющие вид form*, для HTML элемента <input>.


Атрибут form

Атрибут form для элемента ввода указывает, к какой форме принадлежит элемент <input>.

Значение этого атрибута должно совпадать со значением атрибута id элемента <form>, к которому он относится.

Пример

Поле ввода, расположенное за пределами HTML‑формы (но всё равно являющееся её частью):

<form action="/action_page.php" id="form1">
  <label for="fname">Имя:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <input type="submit" value="Отправить">
</form>

<label for="lname">Фамилия:</label>
<input type="text" id="lname" name="lname" form="form1">

Атрибут formaction

Атрибут formaction для элемента ввода задаёт URL‑адрес файла, который будет обрабатывать данные ввода при отправке формы.

Примечание: Этот атрибут переопределяет атрибут action элемента <form>.

Атрибут formaction работает со следующими типами ввода: submit и image.

Пример

HTML форма с двумя кнопками отправки, имеющими разные действия:

<form action="/action_page.php">
  <label for="fname">Имя:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Фамилия:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="Отправить">
  <input type="submit" formaction="/action_page2.php" value="Отправить как администратор">
</form>

Атрибут formenctype

Атрибут formenctype для элемента ввода задаёт способ кодирования данных формы при отправке (только для форм с method="post").

Примечание: Этот атрибут переопределяет атрибут enctype элемента <form>.

Атрибут formenctype работает со следующими типами ввода: submit и image.

Пример

Форма с двумя кнопками отправки. Первая отправляет данные формы с кодировкой по умолчанию, вторая — с кодировкой «multipart/form-data»:

<form action="/action_page_binary.asp" method="post">
  <label for="fname">Имя:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <input type="submit" value="Отправить">
  <input type="submit" formenctype="multipart/form-data"
  value="Отправить как Multipart/form-data">
</form>

Атрибут formmethod

Атрибут formmethod для элемента ввода определяет HTTP‑метод отправки данных формы на URL‑адрес обработчика формы.

Примечание: Этот атрибут переопределяет атрибут method элемента <form>.

Атрибут formmethod работает со следующими типами ввода: submit и image.

Данные формы могут быть отправлены в виде переменных URL (method="get") или в виде HTTP‑запроса POST (method="post").

Примечания о методе «get»:

  • Этот метод добавляет данные формы к URL в виде пар имя/значение.
  • Этот метод полезен для отправки форм, когда пользователь хочет сохранить результат в закладках.
  • Существует ограничение на объём данных, которые можно поместить в URL (различается в зависимости от браузера), поэтому нельзя быть уверенным, что все данные формы будут корректно переданы.
  • Никогда не используйте метод «get» для передачи конфиденциальной информации! (пароль или другие конфиденциальные данные будут видны в адресной строке браузера).

Примечания о методе «post»:

  • Этот метод отправляет данные формы в виде HTTP‑запроса POST.
  • Отправки форм с методом «post» нельзя сохранить в закладках.
  • Метод «post» более надёжен и безопасен, чем «get», и не имеет ограничений по размеру.

Пример

Форма с двумя кнопками отправки. Первая отправляет данные формы с method="get", вторая — с method="post":

<form action="/action_page.php" method="get">
  <label for="fname">Имя:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Фамилия:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="Отправить с использованием GET">
  <input type="submit" formmethod="post" value="Отправить с использованием POST">
</form>

Атрибут formtarget

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

Примечание: Этот атрибут переопределяет атрибут target элемента <form>.

Атрибут formtarget работает со следующими типами ввода: submit и image.

Пример

Форма с двумя кнопками отправки и разными целевыми окнами:

<form action="/action_page.php">
  <label for="fname">Имя:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Фамилия:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="Отправить">
  <input type="submit" formtarget="_blank" value="Отправить в новое окно/вкладку">
</form>

Атрибут formnovalidate

Атрибут formnovalidate для элемента ввода указывает, что элемент <input> не должен проверяться при отправке.

Примечание: Этот атрибут переопределяет атрибут novalidate элемента <form>.

Атрибут formnovalidate работает со следующим типом ввода: submit.

Пример

Форма с двумя кнопками отправки (с проверкой и без проверки):

<form action="/action_page.php">
  <label for="email">Введите ваш email:</label>
  <input type="email" id="email" name="email"><br><br>
  <input type="submit" value="Отправить">
  <input type="submit" formnovalidate="formnovalidate"
  value="Отправить без проверки">
</form>

Атрибут novalidate

Атрибут novalidate — это атрибут элемента <form>.

Если он присутствует, novalidate указывает, что все данные формы не должны проверяться при отправке.

Пример

Указание, что данные формы не должны проверяться при отправке:

<form action="/action_page.php" novalidate>
  <label for="email">Введите ваш email:</label>
  <input type="email" id="email" name="email"><br><br>
  <input type="submit" value="Отправить">
</form>
To top