JavaScript. Подробное руководство, 6-е издание, стр. 491

FormControl

общие особенности всех элементов форм

Большинство элементов HTML-форм являются элементами

<b>&lt;input&gt;,</b>
но формы могут также содержать элементы
<b>&lt;button&gt;, &lt;select&gt;</b>
и
<b>&lt;textarea&gt;.</b>
Данная справочная статья описывает общие особенности всех этих элементов. Введение в HTML-формы приводится в разделе 15.9, а дополнительную информацию о формах и об элементах форм можно найти в справочных статьях
<b>Form, Input, Select</b>
и
<b>TextArea</b>
.

Элементы

<b>&lt;fieldset&gt;</b>
и
<b>&lt;output&gt;</b>
реализуют большинство, но не все, свойства, описываемые здесь. Данный справочник классифицирует объекты
<b>FieldSet</b>
и
<b>Output</b>
как подтипы объекта
<b>FormControl</b>
, хотя они реализуют не все свойства.

Данная справочная статья описывает некоторые особенности форм (такие как проверка данных формы), введенные спецификацией HTML5, которые на момент написания этих строк были реализованы не во всех броузерах.

Свойства

<b>boolean autofocus</b>

Значение true, если элемент должен автоматически получать фокус ввода сразу после загрузки документа. (Элементы

<b>FieldSet</b>
и
<b>Output</b>
не реализуют это свойство.)

<b>boolean disabled</b>

Значение true, если элемент формы находится в неактивном состоянии. Неактивные элементы не откликаются на ввод пользователя и не подвергаются проверке. (Элементы

<b>Output</b>
не реализуют это свойство; элементы
<b>FieldSet</b>
используют его для управления активностью всех элементов, содержащихся в них.)

<b>readonly Form form</b>

Ссылка на элемент

<b>Form</b>
, который является владельцем данного элемента, или null, если таковой отсутствует. Если элемент формы находится внутри элемента
<b>&lt;form&gt;,</b>
эта форма является его владельцем. В противном случае, если элемент формы имеет HTML-атрибут
<b>form</b>
, определяющий значение атрибута
<b>id</b>
элемента
<b>&lt;form&gt;,</b>
владельцем элемента будет указанная форма.

<b>readonly NodeList labels</b>

Объект, подобный массиву, содержащий элементы

<b>Label</b>
, связанные с элементами этой формы. (Объекты
<b>FieldSet</b>
не реализуют это свойство.)

<b>string name</b>

Значение HTML-атрибута name для данного элемента формы. Имена элементов форм можно использовать в качестве имен свойств элемента

<b>Form</b>
: значениями таких свойств являются элементы форм. Имена элементов форм также можно использовать для идентификации данных при отправке формы.

<b>string type</b>

Для элементов

<b>&lt;input&gt;</b>
свойство type имеет значение атрибута type или значение «text», если атрибут type не указан в теге
<b>&lt;input&gt;.</b>
Для элементов
<b>&lt;button&gt;, &lt;select&gt;</b>
и
<b>&lt;textarea&gt;</b>
свойство
<b>type</b>
имеет значение «button», «select-one» (или «select-multiple», если установлен атрибут
<b>multiple</b>
) и «textarea», соответственно. Для элементов
<b>&lt;fieldset&gt;</b>
свойство
<b>type</b>
имеет значение «fieldset», а для элементов <output> - значение «output».

<b>readonly string validationMessage</b>

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

<b>readonly FormValidity validity</b>

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

<b>string value</b>

Каждый элемент формы имеет строковое свойство

<b>value</b>
, которое используется при отправке формы. Для текстовых элементов форм значением этого свойства является текст, введенный пользователем. Для кнопок - значение HTML-атрибута
<b>value</b>
. Для элементов
<b>Output</b>
это свойство подобно свойству
<b>textContent</b>
, унаследованному от объекта
<b>Node</b>
. Элементы
<b>FieldSet</b>
не реализуют это свойство.

<b>readonly boolean willValidate</b>

Это свойство имеет значение true, если элемент формы подвергается проверке, и false - в противном случае.

Обработчики событий

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

<b>EventTarget</b>
, который реализуют все элементы:

Обработчик событий -  Когда вызывается

<b>onformchange</b>
- Когда в любом элементе формы возбуждается событие «change», форма рассылает невсплывающее событие «formchange» всем своим элементам. Элементы форм могут использовать это свойство для определения факта изменений в соседних элементах формы.

<b>onforminput</b>
- Когда в любом элементе формы возбуждается событие «input», форма рассылает невсплывающее событие «forminput» всем своим элементам. Элементы форм могут использовать это свойство для определения факта изменений в соседних элементах формы.

oninvalid - Если в ходе проверки выяснится, что элемент формы содержит некорректные данные, в нем будет возбуждено событие «invalid». Это событие не всплывает, но если его отменить, броузер не выведет сообщение об ошибке для этого элемента.