Книга: JavaScript. Подробное руководство, 6-е издание
FormControl
FormControl
общие особенности всех элементов форм
Большинство элементов HTML-форм являются элементами <input>,
но формы могут также содержать элементы <button>, <select>
и <textarea>.
Данная справочная статья описывает общие особенности всех этих элементов. Введение в HTML-формы приводится в разделе 15.9, а дополнительную информацию о формах и об элементах форм можно найти в справочных статьях Form, Input, Select
и TextArea
.
Элементы <fieldset>
и <output>
реализуют большинство, но не все, свойства, описываемые здесь. Данный справочник классифицирует объекты FieldSet
и Output
как подтипы объекта FormControl
, хотя они реализуют не все свойства.
Данная справочная статья описывает некоторые особенности форм (такие как проверка данных формы), введенные спецификацией HTML5, которые на момент написания этих строк были реализованы не во всех броузерах.
Свойства
boolean autofocus
Значение true, если элемент должен автоматически получать фокус ввода сразу после загрузки документа. (Элементы FieldSet
и Output
не реализуют это свойство.)
boolean disabled
Значение true, если элемент формы находится в неактивном состоянии. Неактивные элементы не откликаются на ввод пользователя и не подвергаются проверке. (Элементы Output
не реализуют это свойство; элементы FieldSet
используют его для управления активностью всех элементов, содержащихся в них.)
readonly Form form
Ссылка на элемент Form
, который является владельцем данного элемента, или null, если таковой отсутствует. Если элемент формы находится внутри элемента <form>,
эта форма является его владельцем. В противном случае, если элемент формы имеет HTML-атрибут form
, определяющий значение атрибута id
элемента <form>,
владельцем элемента будет указанная форма.
readonly NodeList labels
Объект, подобный массиву, содержащий элементы Label
, связанные с элементами этой формы. (Объекты FieldSet
не реализуют это свойство.)
string name
Значение HTML-атрибута name для данного элемента формы. Имена элементов форм можно использовать в качестве имен свойств элемента Form
: значениями таких свойств являются элементы форм. Имена элементов форм также можно использовать для идентификации данных при отправке формы.
string type
Для элементов <input>
свойство type имеет значение атрибута type или значение «text», если атрибут type не указан в теге <input>.
Для элементов <button>, <select>
и <textarea>
свойство type
имеет значение «button», «select-one» (или «select-multiple», если установлен атрибут multiple
) и «textarea», соответственно. Для элементов <fieldset>
свойство type
имеет значение «fieldset», а для элементов <output> - значение «output».
readonly string validationMessage
Если элемент формы содержит допустимые данные или не подвергается проверке, это свойство будет содержать пустую строку. Иначе это свойство будет содержать локализованную строку, описывающую причину, по которой введенные данные признаны некорректными.
readonly FormValidity validity
Это свойство ссылается на объект, который определяет корректность данных в этом элементе формы и описывает причину, если данные признаны некорректными.
string value
Каждый элемент формы имеет строковое свойство value
, которое используется при отправке формы. Для текстовых элементов форм значением этого свойства является текст, введенный пользователем. Для кнопок - значение HTML-атрибута value
. Для элементов Output
это свойство подобно свойству textContent
, унаследованному от объекта Node
. Элементы FieldSet
не реализуют это свойство.
readonly boolean willValidate
Это свойство имеет значение true, если элемент формы подвергается проверке, и false - в противном случае.
Обработчики событий
Элементы форм определяют следующие свойства обработчиков событий. Обработчики можно также регистрировать с помощью методов интерфейса EventTarget
, который реализуют все элементы:
Обработчик событий - Когда вызывается
onformchange
- Когда в любом элементе формы возбуждается событие «change», форма рассылает невсплывающее событие «formchange» всем своим элементам. Элементы форм могут использовать это свойство для определения факта изменений в соседних элементах формы.
onforminput
- Когда в любом элементе формы возбуждается событие «input», форма рассылает невсплывающее событие «forminput» всем своим элементам. Элементы форм могут использовать это свойство для определения факта изменений в соседних элементах формы.
oninvalid - Если в ходе проверки выяснится, что элемент формы содержит некорректные данные, в нем будет возбуждено событие «invalid». Это событие не всплывает, но если его отменить, броузер не выведет сообщение об ошибке для этого элемента.
Методы
boolean checkValidity()
Возвращает true, если элемент формы содержит корректные данные (или если этот элемент не подвергается проверке). Иначе возбуждает событие «invalid» в данном элементе и возвращает false.
void setCustomValidity(string error)
Если в аргументе error передать непустую строку, этот метод пометит данный элемент формы как содержащий недопустимые данные и будет использовать аргумент error как локализованное сообщение, чтобы известить пользователя о причинах. Если передать в аргументе error пустую строку, все предыдущие строки error будут удалены, а объект будет помечен как содержащий допустимые данные.
- ApplicationCache
- ArrayBuffer
- ArrayBufferView
- Attr
- Audio
- BeforeUnloadEvent
- Blob
- BlobBuilder
- Button
- Canvas
- BlobBuilder
- Button
- Canvas
- CanvasGradient
- CanvasPattern
- CanvasRenderingContext2D
- ClientRect
- CloseEvent
- Comment
- Console
- ConsoleCommandLine
- CSS2Properties
- CSSRule
- CSSStyleDeclaration
- CSSStyleSheet
- DataTransfer
- DataView
- Document
- DocumentFragment
- DocumentType
- DOMException
- DOMImplementation
- DOMSettableTokenList
- DOMTokenList
- Element
- ErrorEvent
- Event
- EventSource
- EventTarget
- FieldSet
- File
- FileError
- FileReader
- FileReaderSync
- Form
- FormControl
- Form Data
- FormValidity
- Geocoordinates
- Geolocation
- GeolocationError
- Geoposition
- HashChangeEvent
- History
- HTMLCollection
- HTMLDocument
- HTMLEIement
- HTMLFormControlsCollection
- HTMLOptionsCollection
- IFrame
- Image
- ImageData
- Input
- jQuery jQuery 1.4
- KeyEvent
- Label
- Link
- Location
- MediaElement
- MediaError
- MessageChannel
- MessageEvent
- MessagePort
- Meter
- MouseEvent
- Navigator
- Node
- NodeList
- Option
- Output
- PageTransitionEvent
- PopStateEvent
- ProcessingInstruction
- Progress
- ProgressEvent
- Screen
- Script
- Select
- Storage
- StorageEvent
- Style
- Table
- TableCell
- TableRow
- TableSection
- Text
- TextArea
- TextMetrics
- TimeRanges
- TypedArray
- URL
- Video
- WebSocket
- Window
- Worker
- WorkerGlobalScope
- WorkerLocation
- WorkerNavigator
- XMLHttpRequest
- XMLHttpRequestUpload