<form> элемент HTML form
Baseline Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Элемент <form> HTML представляет собой раздел документа, содержащий интерактивные элементы управления для отправки информации.
Попробуйте
<form action="" method="get" class="form-example">
<div class="form-example">
<label for="name">Enter your name: </label>
<input type="text" name="name" id="name" required />
</div>
<div class="form-example">
<label for="email">Enter your email: </label>
<input type="email" name="email" id="email" required />
</div>
<div class="form-example">
<input type="submit" value="Subscribe!" />
</div>
</form>
form.form-example {
display: table;
}
div.form-example {
display: table-row;
}
label,
input {
display: table-cell;
margin-bottom: 10px;
}
label {
padding-right: 10px;
}
Для стилизации элемента <form> в зависимости от того, допустимы ли элементы elements внутри формы, можно использовать псевдоклассы CSS :valid и :invalid.
Атрибуты
Этот элемент включает глобальные атрибуты.
accept-
Разделённые запятыми типы содержимого, которые принимает сервер.
Примечание: Этот атрибут устарел, и его не следует использовать. Вместо него используйте атрибут
acceptу элементов<input type=file>. accept-charset-
Кодировка символов, принимаемая сервером. Спецификация допускает одно значение без учёта регистра —
"UTF-8", что отражает повсеместное распространение этой кодировки (исторически можно было указать несколько кодировок символов в виде списка, разделённого запятыми или пробелами). autocapitalize-
Определяет, преобразуется ли введённый текст автоматически в заглавные буквы и, если преобразуется, каким образом. Подробнее см. на странице глобального атрибута
autocapitalize. autocomplete-
Указывает, может ли браузер по умолчанию автоматически заполнять значения элементов ввода. Атрибуты
autocompleteэлементов формы переопределяют этот атрибут у<form>. Возможные значения:-
off: браузер не может автоматически заполнять поля. (Браузеры обычно игнорируют это значение для форм, которые, предположительно, используются для входа в систему; см. раздел Управление автозаполнением полей для входа.) -
on: браузер может автоматически заполнять поля.
-
name-
Имя формы. Значение не должно быть пустой строкой и должно быть уникальным среди элементов
formв коллекции форм, к которой он относится, если таковая имеется. Имя становится свойством объектовWindow,Documentиdocument.formsи содержит ссылку на элемент формы. rel-
Определяет аннотации и типы ссылок, создаваемых формой. Аннотации включают
external,nofollow,opener,noopenerиnoreferrer. Типы ссылок включаютhelp,prev,next,searchиlicense. Значениеrelпредставляет собой список этих перечисленных значений, разделённых пробелами.
Атрибуты отправки формы
Следующие атрибуты определяют поведение при отправке формы.
action-
URL-адрес, обрабатывающий отправку формы. Это значение можно переопределить атрибутом
formactionэлемента<button>,<input type="submit">или<input type="image">. Этот атрибут игнорируется, если заданоmethod="dialog". enctype-
Если значение атрибута
methodравноpost, тоenctype— это тип MIME отправляемой формы. Возможные значения:-
application/x-www-form-urlencoded: значение по умолчанию. -
multipart/form-data: используйте это значение, если форма содержит элементы<input>с атрибутомtype=file. -
text/plain: полезно для отладки.
Это значение можно переопределить атрибутами
formenctypeэлементов<button>,<input type="submit">или<input type="image">. -
method-
Метод HTTP, используемый для отправки формы. Допустимы только следующие методы/значения (без учёта регистра):
-
post: методPOST; данные формы отправляются в виде тела запроса. -
get(по умолчанию): методGET; данные формы добавляются к URL-адресуactionс разделителем?. Используйте этот метод, если форма не имеет побочных эффектов. -
dialog: если форма находится внутри элемента<dialog>, закрывает диалоговое окно и вызывает событиеsubmitпри отправке, не отправляя данные и не очищая форму.
Это значение переопределяется атрибутами
formmethodэлементов<button>,<input type="submit">или<input type="image">. -
novalidate-
Этот логический атрибут указывает, что при отправке формы не следует выполнять проверку. Если атрибут не задан (и, следовательно, форма проверяется), его можно переопределить атрибутом
formnovalidateэлемента<button>,<input type="submit">или<input type="image">, принадлежащего этой форме. target-
Указывает, где отображать ответ после отправки формы. Это имя или ключевое слово для контекста просмотра (например, вкладки, окна или iframe). Следующие ключевые слова имеют специальное значение:
-
_self(по умолчанию): загрузить в тот же контекст просмотра, что и текущий. -
_blank: загрузить в новый контекст просмотра без имени. Это соответствует поведению при заданииrel="noopener", при которомwindow.openerне задаётся. -
_parent: загрузить в родительский контекст просмотра текущего. Если родительского контекста нет, действует так же, как_self. -
_top: загрузить в контекст просмотра верхнего уровня (то есть контекст просмотра, который является предком текущего и не имеет родителя). Если родительского контекста нет, действует так же, как_self. -
_unfencedTop: загрузить ответ формы, находящейся во встроенном изолированном фрейме, в кадр верхнего уровня (то есть за пределы корня изолированного фрейма, в отличие от других зарезервированных мест назначения). Доступно только внутри изолированных фреймов.
Это значение можно переопределить атрибутом
formtargetэлемента<button>,<input type="submit">или<input type="image">. -
Примеры
<!-- Form which will send a GET request to the current URL -->
<form method="get">
<label>
Name:
<input name="submitted-name" autocomplete="name" />
</label>
<button>Save</button>
</form>
<!-- Form which will send a POST request to the current URL -->
<form method="post">
<label>
Name:
<input name="submitted-name" autocomplete="name" />
</label>
<button>Save</button>
</form>
<!-- Form with fieldset, legend, and label -->
<form method="post">
<fieldset>
<legend>Do you agree to the terms?</legend>
<label><input type="radio" name="radio" value="yes" /> Yes</label>
<label><input type="radio" name="radio" value="no" /> No</label>
</fieldset>
</form>
Результат
Техническая сводка
| Категории содержимого | Потоковое содержимое, осязаемое содержимое |
|---|---|
| Допустимое содержимое | Потоковое содержимое, но без элементов <form> |
| Пропуск тегов | Отсутствует: обязательны и открывающий, и закрывающий теги. |
| Допустимые родители | Любой элемент, допускающий потоковое содержимое |
| Неявная роль ARIA | form |
| Допустимые роли ARIA | search, none или presentation |
| Интерфейс DOM | HTMLFormElement |
Спецификации
| Спецификация |
|---|
| HTML> # the-form-element> |
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
form |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 | 2 |
accept-charset |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 | 2 |
action |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 | 2 |
autocomplete |
14Интерфейс Google Chrome для запроса автозаполнения зависит от того, задано ли значениеoff для autocomplete у элементов <input>, а также у их формы. В частности, если для формы задано off у autocomplete, а атрибут autocomplete элемента <input> не задан, то при запросе пользователем предложений автозаполнения для элемента <input> Chrome может отобразить сообщение «автозаполнение отключено для этой формы». Если же для autocomplete установлено значение off как у формы, так и у элемента ввода, браузер не покажет это сообщение. Поэтому для каждого элемента <input> с пользовательским автозаполнением следует задавать autocomplete равным off. |
12 | 4 | 15Интерфейс Opera для запроса автозаполнения зависит от того, задано ли значениеoff для autocomplete у элементов <input>, а также у их формы. В частности, если для формы задано off у autocomplete, а атрибут autocomplete элемента <input> не задан, то при запросе пользователем предложений автозаполнения для элемента <input> Opera может отобразить сообщение «автозаполнение отключено для этой формы». Если же для autocomplete установлено значение off как у формы, так и у элемента ввода, браузер не покажет это сообщение. Поэтому для каждого элемента <input> с пользовательским автозаполнением следует задавать autocomplete равным off. |
6 | 18Интерфейс Chrome Android для запроса автозаполнения зависит от того, задано ли значениеoff для autocomplete у элементов <input>, а также у их формы. В частности, если для формы задано off у autocomplete, а атрибут autocomplete элемента <input> не задан, то при запросе пользователем предложений автозаполнения для элемента <input> Chrome Android может отобразить сообщение «автозаполнение отключено для этой формы». Если же для autocomplete установлено значение off как у формы, так и у элемента ввода, браузер не покажет это сообщение. Поэтому для каждого элемента <input> с пользовательским автозаполнением следует задавать autocomplete равным off. |
4 | 14Интерфейс Opera Android для запроса автозаполнения зависит от того, задано ли значениеoff для autocomplete у элементов <input>, а также у их формы. В частности, если для формы задано off у autocomplete, а атрибут autocomplete элемента <input> не задан, то при запросе пользователем предложений автозаполнения для элемента <input> Opera Android может отобразить сообщение «автозаполнение отключено для этой формы». Если же для autocomplete установлено значение off как у формы, так и у элемента ввода, браузер не покажет это сообщение. Поэтому для каждого элемента <input> с пользовательским автозаполнением следует задавать autocomplete равным off. |
6 | 1.0Интерфейс Samsung Internet для запроса автозаполнения зависит от того, задано ли значениеoff для autocomplete у элементов <input>, а также у их формы. В частности, если для формы задано off у autocomplete, а атрибут autocomplete элемента <input> не задан, то при запросе пользователем предложений автозаполнения для элемента <input> Samsung Internet может отобразить сообщение «автозаполнение отключено для этой формы». Если же для autocomplete установлено значение off как у формы, так и у элемента ввода, браузер не покажет это сообщение. Поэтому для каждого элемента <input> с пользовательским автозаполнением следует задавать autocomplete равным off. |
4.4Интерфейс WebView Android для запроса автозаполнения зависит от того, задано ли значениеoff для autocomplete у элементов <input>, а также у их формы. В частности, если для формы задано off у autocomplete, а атрибут autocomplete элемента <input> не задан, то при запросе пользователем предложений автозаполнения для элемента <input> WebView Android может отобразить сообщение «автозаполнение отключено для этой формы». Если же для autocomplete установлено значение off как у формы, так и у элемента ввода, браузер не покажет это сообщение. Поэтому для каждого элемента <input> с пользовательским автозаполнением следует задавать autocomplete равным off. |
6 |
enctype |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 | 2 |
method |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 | 2 |
name |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 | 2 |
novalidate |
10 | 12 | 4 | 15 | 10.1 | 18 | 4 | 14 | 10.3 | 1.0 | 37 | 10.3 |
rel |
108 | 108 | 111 | 94 | 15.4 | 108 | 111 | 73 | 15.4 | 21.0 | 108 | 15.4 |
target |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 | 2 |
См. также
- Руководство по HTML-формам
- Другие элементы, используемые при создании форм:
<button>,<datalist>,<fieldset>,<input>,<label>,<legend>,<meter>,<optgroup>,<option>,<output>,<progress>,<select>,<textarea>. - Получение списка элементов формы:
HTMLFormElement.elements - ARIA: роль form
- ARIA: роль search
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/form