<input>¶
Тег <input>
(от англ. input — ввод) является одним из разносторонних элементов формы и позволяет создавать разные части интерфейса и обеспечивать взаимодействие с пользователем.
Главным образом <input>
предназначен для создания текстовых полей, различных кнопок, переключателей и флажков.
Основной атрибут <input>
, определяющий вид элемента — type
. Он позволяет задавать следующие элементы формы: текстовое поле (text
), поле с паролем (password
), переключатель (radio
), флажок (checkbox
), скрытое поле (hidden
), кнопка (button
), кнопка для отправки формы (submit
), кнопка для очистки формы (reset
), поле для отправки файла (file
), кнопка с изображением (image
) и др. Для каждого элемента существует свой список атрибутов, которые определяют его вид и характеристики. Кроме того, в HTML5 добавлено ещё более десятка новых атрибутов.
Демо¶
Формы
Синтаксис¶
1 |
|
Закрывающий тег не требуется.
Атрибуты¶
accept
-
Устанавливает фильтр на типы файлов, которые вы можете отправить через поле загрузки файлов.
alt
-
Альтернативный текст для кнопки с изображением.
autocomplete
-
Включает или отключает автозаполнение.
autofocus
-
Устанавливает фокус в поле формы.
checked
-
Предварительно активированный переключатель или флажок.
dirname
-
Параметр, который передаёт на сервер направление текста.
disabled
-
Блокирует доступ и изменение элемента.
form
-
Связывает поле с формой по её идентификатору.
formaction
-
Определяет адрес обработчика формы.
formenctype
-
Устанавливает способ кодирования данных формы при их отправке на сервер.
formmethod
-
Сообщает браузеру каким методом следует передавать данные формы на сервер.
formnovalidate
-
Отменяет встроенную проверку данных на корректность.
formtarget
-
Определяет окно или фрейм в которое будет загружаться результат, возвращаемый обработчиком формы.
list
-
Указывает на список вариантов, которые можно выбирать при вводе текста.
max
-
Верхнее значение для ввода числа или даты.
maxlength
-
Максимальное количество символов разрешённых в тексте.
min
-
Нижнее значение для ввода числа или даты.
minlength
-
Минимальное количество символов разрешённых в тексте.
multiple
-
Позволяет загрузить несколько файлов одновременно.
name
-
Имя поля, предназначено для того, чтобы обработчик формы мог его идентифицировать.
pattern
-
Устанавливает шаблон ввода.
placeholder
-
Выводит подсказывающий текст.
readonly
-
Устанавливает, что поле не может изменяться пользователем.
required
-
Обязательное для заполнения поле.
size
-
Ширина текстового поля.
src
-
Адрес графического файла для поля с изображением.
step
-
Шаг приращения для числовых полей.
type
-
Сообщает браузеру, к какому типу относится элемент формы.
value
-
Значение элемента.
Также для этого элемента доступны универсальные атрибуты.
accept¶
Устанавливает фильтр на типы файлов, которые вы можете отправить через поле загрузки файлов. Тип файла указывается как MIME-тип, при нескольких значениях они перечисляются через запятую. Если файл не подходит под установленный фильтр, он не показывается в окне выбора файлов.
Применяется к полю для отправки файла (<input type="file">
).
Поддержка браузерами
Синтаксис
1 |
|
Значения
Имя MIME-типа в любом регистре, несколько значений перечисляются через запятую.
В HTML5 также допустимо в качестве значения указывать audio/*
для выбора всех звуковых файлов, video/*
для видеофайлов и image/*
для всех графических файлов.
Значение по умолчанию
Нет.
alt¶
Атрибут alt
устанавливает альтернативный текст для поля с изображением. Такой текст позволяет получить текстовую информацию о рисунке при отключенной в браузере загрузке изображений, а также предназначен для поисковых систем.
Синтаксис
1 |
|
Значения
Любая подходящая текстовая строка.
Значение по умолчанию
Нет.
autocomplete¶
Этот атрибут помогает заполнять поля форм текстом, который был введён в них ранее. Значения сохраняет и подставляет браузер, при этом автозаполнение по соображениям безопасности может отключаться пользователем в настройках браузера и не может в таком случае управляться атрибутом autocomplete
.
При вводе первых букв текста выводится список сохранённых ранее значений, из которого можно выбрать необходимое.
Автозаполнение конкретного поля формы привязывается к его атрибуту name
и при смене значения теряется.
Синтаксис
1 2 3 4 5 6 |
|
Значения
on
-
Включает автозаполнение текста.
off
-
Отключает автозаполнение. Это значение обычно используется для отмены сохранения в браузере важных данных (паролей, номеров банковских карт), а также редко вводимых или уникальных данных (капча).
Значение по умолчанию
Зависит от настроек браузера.
autofocus¶
Автоматически устанавливает фокус в поле формы. В таком поле можно сразу набирать текст без явного щелчка по нему курсором мыши.
Синтаксис
1 |
|
Значения
Нет.
Значение по умолчанию
По умолчанию атрибут autofocus
не установлен.
checked¶
Этот атрибут определяет, помечен ли заранее такой элемент формы, как флажок или переключатель. В случае использования переключателей (radiobutton
) может быть отмечен только один элемент группы, для флажков (checkbox
) допустимо пометить хоть все элементы.
Синтаксис
1 2 |
|
Значения
Нет.
Значение по умолчанию
По умолчанию этот атрибут выключен.
dirname¶
При наличии атрибута dirname
на сервер отправляется пара имя/значение, где имя задаётся атрибутом dirname
, а значение подставляется браузером. Для текста, идущего слева направо, значение будет ltr
, а для текста справа налево (иврита, к примеру) значение будет rtl
.
Синтаксис
1 2 |
|
Значения
Произвольная текстовая строка, которая служит именем параметра. Чтобы показать, что этот параметр указывает направление текста, обычно в конце строки добавляют .dir
.
Значение по умолчанию
Нет.
disabled¶
Блокирует доступ и изменение поля формы. Оно в таком случае отображается серым и недоступным для активации пользователем. Кроме того, такое поле не может получить фокус путем нажатия на клавишу Tab, мышью или другим способом. Тем не менее, такое состояние поля можно менять с помощью скриптов. Заблокированное в поле значение не передаётся на сервер.
Синтаксис
1 |
|
Значения
Нет.
Значение по умолчанию
По умолчанию этот атрибут выключен.
form¶
Связывает поле с формой по её идентификатору. Такая связь необходима в случае, когда поле располагается за пределами <form>
, например, при создании её программно или по соображениям дизайна.
Синтаксис
1 2 |
|
Значения
Идентификатор формы (значение атрибута id
элемента <form>
).
Значение по умолчанию
Нет.
formaction¶
Определяет адрес обработчика формы — это программа, которая получает данные формы и производит с ними желаемые действия. Атрибут formaction
по своему действию аналогичен атрибуту action
элемента <form>
.
Синтаксис
1 |
|
Значения
Нет.
formenctype¶
Устанавливает способ кодирования данных формы при их отправке на сервер. Обычно явно указывается в случае, когда используется поле для отправки файла (input type="file"
). Этот атрибут по своему действию аналогичен атрибуту enctype
элемента <form>
, при совместном использовании formenctype
и enctype
последний игнорируется.
Синтаксис
1 2 3 4 |
|
Значения
application/x-www-form-urlencoded
-
Вместо пробелов ставится
+
, символы вроде русских букв кодируются их шестнадцатеричными значениями (например,%D0%9F%D0%B5%D1%82%D1%8F
вместоПетя
). multipart/form-data
-
Данные не кодируются. Это значение применяется при отправке файлов.
text/plain
-
Пробелы заменяются знаком
+
, буквы и другие символы не кодируются.
Значение по умолчанию
application/x-www-form-urlencoded
formmethod¶
Атрибут сообщает браузеру, каким методом следует передавать данные формы на сервер.
Синтаксис
1 |
|
Значения
Различают два метода — GET
и POST
, которые задаются ключевыми словами get
и post
.
get
-
Этот метод предназначен для передачи данных формы непосредственно в адресной строке в виде пар «
имя=значение
», которые добавляются к адресу страницы после вопросительного знака и разделяются между собой амперсандом (символ&
). Полный адрес к примеру будетhttp://site.ru/doc/?name=Vasya&password=pup
. Объём данных в методе ограничен 4 Кб. post
-
Посылает на сервер данные в запросе браузера, объём пересылаемых данных ограничен лишь настройками сервера.
Значение по умолчанию
get
formnovalidate¶
Отменяет встроенную проверку данных введённых пользователем в форме на корректность перед отправкой формы. Такая проверка делается браузером автоматически для полей <input type="email">
, <input type="url">
, а также при наличии атрибута pattern
или required
у элемента <input>
.
Синтаксис
1 |
|
Значения
Нет.
Значение по умолчанию
По умолчанию этот атрибут выключен.
formtarget¶
Определяет имя фрейма, в которое будет загружаться результат, возвращаемый обработчиком формы в виде HTML-документа.
Синтаксис
1 2 3 4 |
|
Значения
В качестве значения используется имя фрейма, заданное атрибутом name
. Если установлено несуществующее имя, то будет открыта новая вкладка. В качестве зарезервированных имен можно указывать следующие.
_blank
-
Загружает страницу в новую вкладку браузера.
_self
-
Загружает страницу в текущую вкладку.
_parent
-
Загружает страницу во фрейм-родитель; если фреймов нет, то это значение работает как
_self
. _top
-
Отменяет все фреймы и загружает страницу в полном окне браузера; если фреймов нет, то это значение работает как
_self
.
Значение по умолчанию
_self
list¶
Указывает на список вариантов, созданный с помощью элемента <datalist>
, которые можно выбирать при наборе текста. Изначально этот список скрыт и становится доступным при получении полем фокуса.
Синтаксис
1 2 3 4 5 |
|
Значения
Имя идентификатора элемента <datalist>
.
Значение по умолчанию
Нет.
max¶
Устанавливает верхнее значение для ввода числа или даты в поле формы.
Синтаксис
1 2 3 |
|
Значения
Целое положительное или отрицательное число (для type="number"
, type="range"
).
Дата в формате ГГГГ-ММ-ДД (например: 2012-12-22) для type="date"
.
Значение по умолчанию
Нет.
maxlength¶
Устанавливает максимальное число символов, которое может быть введено пользователем в текстовом поле. Когда это количество достигается при наборе, дальнейший ввод становится невозможным.
Синтаксис
1 2 |
|
Значения
Любое целое положительное число.
Значение по умолчанию
Ввод символов не ограничен.
min¶
Устанавливает нижнее значение для ввода числа или даты в поле формы.
Синтаксис
1 2 3 |
|
Значения
Целое положительное или отрицательное число (для type="number"
, type="range"
).
Дата в формате ГГГГ-ММ-ДД (например: 2012-12-22) для type="date"
.
Значение по умолчанию
Нет.
minlength¶
Задаёт минимальное число символов, которое может быть введено пользователем в текстовом поле. Если число символов меньше указанного значения, то браузер выдаёт сообщение об ошибке и не отправляет форму.
Синтаксис
1 2 |
|
Значения
Любое целое положительное число.
Значение по умолчанию
Нет.
multiple¶
Атрибут multiple
позволяет указывать одновременно несколько файлов в поле для загрузки файлов, а также несколько адресов электронной почты. При использовании двух и более почтовых адресов они должны перечисляться через запятую.
Синтаксис
1 2 |
|
Значения
Нет.
Значение по умолчанию
По умолчанию атрибут multiple
выключен.
name¶
Определяет уникальное имя элемента формы. Как правило, это имя используется при отправке данных на сервер или для доступа к введённым данным поля через скрипты.
Синтаксис
1 |
|
Значения
В качестве имени используется набор символов, включая числа и буквы. JavaScript чувствителен к регистру, поэтому при обращении к элементу по имени соблюдайте ту же форму написания, что и в атрибуте name
.
Значение по умолчанию
Нет.
pattern¶
Указывает регулярное выражение, согласно которому требуется вводить и проверять данные в поле формы. Если присутствует атрибут pattern
, то форма не будет отправляться, пока поле не будет заполнено правильно.
Поддержка браузерами
Синтаксис
1 2 3 4 5 |
|
Значения
Некоторые типовые регулярные выражения перечислены в табл. 1.
Выражение | Описание |
---|---|
\d [0-9] | Одна цифра от 0 до 9. |
\D [^0-9] | Любой символ кроме цифры. |
\s | Пробел. |
[A-Z] | Только заглавная латинская буква. |
[A-Za-z] | Только латинская буква в любом регистре. |
[А-Яа-яЁё] | Только русская буква в любом регистре. |
[A-Za-zА-Яа-яЁё] | Любая буква русского и латинского алфавита. |
[0-9]{3} | Три цифры. |
[A-Za-z]{6,} | Не менее шести латинских букв. |
[0-9]{,3} | Не более трёх цифр. |
[0-9]{5,10} | От пяти до десяти цифр. |
^[a-zA-Z]+$ | Любое слово на латинице. |
^[А-Яа-яЁё\s]+$ | Любое слово на русском включая пробелы. |
^[ 0-9]+$ | Любое число. |
[0-9]{6} | Почтовый индекс. |
\d+(,\d{2})? | Число в формате 1,34 (разделитель запятая). |
\d+(\.\d{2})? | Число в формате 2.10 (разделитель точка). |
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} | IP-адрес |
placeholder¶
Выводит текст внутри поля формы, который исчезает при получении фокуса или при наборе текста. Обычно отображается серым цветом.
Поддержка браузерами
Синтаксис
1 |
|
Значения
Текстовая строка. Если внутри строки предполагается пробел, её необходимо брать в двойные или одинарные кавычки.
Значение по умолчанию
Нет.
readonly¶
Когда к элементу <input>
добавляется атрибут readonly
, текстовое поле не может изменяться пользователем, в том числе вводиться новый текст или модифицироваться существующий. Тем не менее, состояние и содержимое поля можно менять с помощью скриптов и данные отправляются на сервер.
Синтаксис
1 2 |
|
Значения
Нет.
Значение по умолчанию
По умолчанию этот атрибут выключен.
required¶
Устанавливает поле формы обязательным для заполнения перед отправкой формы на сервер. Если обязательное поле пустое, браузер выведет сообщение об ошибке, а форма отправлена не будет. Вид и содержание сообщения зависит от браузера и меняться пользователем не может.
Синтаксис
1 |
|
Значения
Нет.
Значение по умолчанию
По умолчанию атрибут required
выключен.
size¶
Ширина текстового поля, которое определяется числом символов моноширинного шрифта. Иными словами, ширина задаётся количеством близстоящих букв одинаковой ширины по горизонтали. Если размер шрифта изменяется с помощью стилей, ширина также соответственно меняется.
Синтаксис
1 2 |
|
Значения
Любое целое положительное число.
Значение по умолчанию
20
src¶
Адрес графического файла, который будет отображаться на веб-странице в поле с изображением. Наиболее популярны файлы в формате PNG и JPEG.
Синтаксис
1 |
|
Значения
В качестве значения принимается полный или относительный путь к файлу.
Значение по умолчанию
Нет.
step¶
Устанавливает шаг изменения числа для ползунков и полей ввода чисел.
Синтаксис
1 2 |
|
Значения
Любое целое или дробное число.
Значение по умолчанию
1
type¶
Сообщает браузеру, к какому типу относится элемент формы.
Поддержка браузерами
email
, tel
, url
:
color
:
range
:
number
:
search
:
date
, time
, datetime
:
Синтаксис
1 2 3 |
|
Значения
Значения type
:
button
-
Кнопка.
checkbox
-
Флажки. Позволяют выбрать более одного варианта из предложенных.
file
-
Поле для ввода имени файла, который пересылается на сервер.
hidden
-
Скрытое поле. Оно никак не отображается на веб-странице.
image
-
Поле с изображением. При нажатии на рисунок данные формы отправляются на сервер.
password
-
Обычное текстовое поле, но отличается от него тем, что все символы показываются звездочками. Предназначено для того, чтобы никто не подглядел вводимый пароль.
radio
-
Переключатели. Используются, когда следует выбрать один вариант из нескольких предложенных.
reset
-
Кнопка для возвращения данных формы в первоначальное значение.
submit
-
Кнопка для отправки данных формы на сервер.
text
-
Текстовое поле. Предназначено для ввода символов с помощью клавиатуры.
В HTML5 добавлены новые значения:
color
-
Виджет для выбора цвета.
date
-
Поле для выбора календарной даты.
datetime
-
Указание даты и времени.
datetime-local
-
Указание местной даты и времени.
email
-
Для адресов электронной почты.
number
-
Ввод чисел.
range
-
Ползунок для выбора чисел в указанном диапазоне.
search
-
Поле для поиска.
tel
-
Для телефонных номеров.
time
-
Для времени.
url
-
Для веб-адресов.
month
-
Выбор месяца.
week
-
Выбор недели.
Значение по умолчанию
text
value¶
Определяет значение элемента формы, которое будет отправлено на сервер или получено с помощью клиентских скриптов. На сервер отправляется пара «имя=значение
», где имя задаётся атрибутом name
элемента <input>
, а значение — атрибутом value
.
В зависимости от типа элемента атрибут value
выступает в следующей роли:
- для кнопок (
input type="button | reset | submit"
) устанавливает текстовую надпись на них; - для текстовых полей (
input type="password | text"
) указывает предварительно введённую строку. Пользователь может стирать текст и вводить свои символы, но при использовании в форме кнопки Reset пользовательский текст очищается и восстанавливается введённый в атрибутеvalue
; - для флажков и переключателей (
input type="checkbox | radio"
) уникально определяет каждый элемент, с тем, чтобы клиентская или серверная программа могла однозначно установить, какой пункт выбрал пользователь. - для файлового поля (
input type="file"
) не оказывает влияние.
Синтаксис
1 |
|
Значения
Любая текстовая строка.
Значение по умолчанию
Нет.
Значения ARIA role¶
<input type=button>
—role=button
<input type=checkbox>
—role=checkbox
<input type=email>
—role=textbox
<input type=image>
—role=button
<input type=number>
—role=spinbutton
<input type=radio>
—role=radio
<input type=range>
—role=slider
<input type=reset>
—role=button
<input type=search>
—role=searchbox
<input type=submit>
—role=button
<input type=tel>
—role=textbox
<input type=text>
—role=textbox
<input type=text, search, tel, url, или email с атрибутом list>
—role=combobox
<input type=url>
—role=textbox
Спецификации¶
Описание и примеры¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
|
Ссылки¶
- Тег
<input>
MDN (рус.)