Перейти к основному содержимому

Атрибуты HTML для формы

В этой главе описываются различные атрибуты, которые можно использовать с элементом HTML <form>.


Атрибут Action

Атрибут action указывает, что должно произойти при отправке формы.

Обычно данные формы отправляются на файл на сервере, когда пользователь нажимает кнопку отправки. В примере ниже они отправляются в файл с именем action_page.php, который содержит скрипт на стороне сервера, обрабатывающий данные.

Совет: Если опустить атрибут action, данные отправляются на текущую страницу.

Пример

При отправке данные формы отправляются в action_page.php.

Prompt
Форма, у которой атрибут action отправляет данные на "/action_page.php" при отправке. Включите текстовые поля First name и Last name, предзаполненные "John" и "Doe", плюс кнопку отправки.
Output: полная HTML-страница

Атрибут Target

Атрибут target указывает, где показать ответ, полученный после отправки формы.

Может быть одним из: _blank (новое окно или вкладка), _self (текущее окно), _parent (родительский фрейм), _top (всё окно) или имя фрейма (именованный iframe). По умолчанию используется _self, поэтому ответ открывается в текущем окне.

Пример

Здесь отправленный результат открывается в новой вкладке браузера, так как target установлен в _blank.

Prompt
Форма, использующая target="_blank", чтобы ответ открывался в новой вкладке браузера после отправки. Установите action на "/action_page.php" и включите поле First name и кнопку отправки.
Output: полная HTML-страница

Атрибут Method

Атрибут method указывает, какой метод HTTP использовать при отправке данных формы.

Данные можно отправить как переменные URL с помощью method="get" или внутри тела запроса с помощью method="post". Метод по умолчанию — GET.

Заметки о GET: он добавляет данные формы к URL в виде пар имя/значение, поэтому никогда не используйте его для конфиденциальных данных (они отображаются в URL). URL также имеют ограничение по длине (около 2048 символов). GET удобен, когда пользователь хочет добавить результат в закладки, и подходит для не секретных данных, таких как поисковые запросы.

Заметки о POST: он помещает данные формы внутрь тела запроса, поэтому они не отображаются в URL. У POST нет ограничения по размеру, и он может отправлять большие объёмы данных, но отправки POST нельзя добавить в закладки.

Совет: Всегда используйте POST, если данные формы содержат конфиденциальную или личную информацию.

Метод GET

Эта форма использует метод GET при отправке данных.

Prompt
Форма, использующая method="get" при отправке данных на "/action_page.php". Включите поле First name и кнопку отправки.
Output: полная HTML-страница

Метод POST

Эта форма использует метод POST при отправке данных.

Prompt
Форма, использующая method="post" при отправке данных на "/action_page.php". Включите поле First name и кнопку отправки.
Output: полная HTML-страница

Атрибут Autocomplete

Атрибут autocomplete указывает, должно ли автозаполнение формы быть включено или выключено.

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

Пример

Форма с autocomplete, установленным в on.

Prompt
Форма с autocomplete="on", чтобы браузер мог заполнять значения, введённые пользователем ранее. Установите action на "/action_page.php" и включите поля First name и Last name плюс кнопку отправки.
Output: полная HTML-страница

Атрибут Novalidate

Атрибут novalidate — это булев атрибут (он либо есть, либо нет).

Когда он присутствует, браузер не будет проверять данные формы при её отправке.

Пример

Форма с атрибутом novalidate.

Prompt
Форма с булевым атрибутом novalidate, чтобы ввод не проверялся при отправке. Установите action на "/action_page.php" и включите поле email и кнопку отправки.
Output: полная HTML-страница

Список всех атрибутов <form>

Вот все атрибуты, поддерживаемые элементом <form>:

  • accept-charset — кодировки символов, используемые при отправке формы.
  • action — куда отправить данные формы при её отправке.
  • autocomplete — должно ли автозаполнение формы быть включено или выключено.
  • enctype — как данные формы должны кодироваться при отправке на сервер (только для method="post").
  • method — метод HTTP, используемый при отправке данных формы.
  • name — имя формы.
  • novalidate — то, что форма не должна проверяться при отправке.
  • rel — связь между связанным ресурсом и текущим документом.
  • target — где показать ответ, полученный после отправки формы.