Тег <input> в HTML определяет элемент формы. В зависимости от выбранного типа, элемент input может принимать вид поля для ввода текста, кнопки, переключателя, чек-бокса и т.д.
Атрибут type HTML элемента input указывает на его тип. Тип элемента определяет его вариант отображения и функционал. Типы тега input (например, input type="text" - текстовое поле, input type="submit" - кнопка отправки, input type="radio" - переключатель, input type="checkbox" - чек-бокс, input type="hidden" - скрытое поле, input type="password" - пароль и т.д.) подробно описаны ниже.
Тег поля ввода <input>, как и тег кнопки <button>, может быть использован как кнопка отправки HTML форм. Для этого input должен иметь тип submit, находиться внутри HTML кода формы <form> или быть привязанным к форме с помощью атрибута form.
Тег <input> HTML является элементом формы. Подробно о создании форм описано в статье: Все про формы и поля в HTML. Создание и работа с формами.
Синтаксис
<input атрибуты />
Input type button - простая кнопка
Тип button соответствует простой кликабельной кнопке. Действия, которые будут происходить по нажатию кнопки, определяются через JavaScript.
HTML код input type="button":
<input name="guruweba_example_button" type="button" value="Лайкнуть статью" />
Input type checkbox - чек-бокс, флажок, галочка
Тип checkbox представляет собой поле, которое пользователь может отметить (чек-бокс). У поля checkbox есть только 2 состояния - отмечен или не отмечен. При отправке формы на сервер, данные передаются только для отмеченных чек-боксов.
Если для чек-бокса не задан атрибут value, как значение будет использовано значение по умолчанию - "on". Часто чек-боксы используются вместе с тегом <label>, где указывается подпись чек-бокса.
Обычно чек-бокс отображается в виде квадрата, внутри которого находится галочка, если чек-бокс отмечен.
HTML код input type="checkbox":
<input name="guruweba_example_checkbox" type="checkbox" />
Input type color - выбор цвета
Тип color представляет собой поле, в котором пользователь может выбрать цвет. Цвет задается в формате HEX.
HTML код input type="color":
<input name="guruweba_example_color" type="color" value="#55cc77" />
Input type date - поле для ввода даты
Тип date представляет собой поле, в которое пользователь может ввести дату. Дата включает в себя год, месяц и число.
Стандартный формат даты YYYY-MM-DD, например, "2005-01-20" (соответствует 20 января 2005г.). Подробнее о дате в HTML.
Обычно, при заполнении поля, браузеры отображают возле него календарь, в котором можно выбрать дату. В этом случае формат даты для пользователя может быть изменен, но на сервер отправится дата в стандартном формате.
HTML код input type="date":
<input name="guruweba_example_date" type="date" />
Input type datetime - дата и время
Тип datetime представляет собой поле, в которое пользователь может ввести дату и время с указанием временной зоны.
Этот тип поля устарел, использовать его не рекомендуется. Используйте <input type="datetime-local"> вместо него.
Input type datetime-local - локальное время
Тип datetime-local представляет собой поле, в которое пользователь может ввести дату и время (без указания временной зоны).
Обычно, при заполнении поля, браузеры отображают возле него календарь, в котором можно выбрать значение.
Формат значения, отправляемого на сервер: YYYY-MM-DDThh:mm, например, "2007-08-11T13:18" (соответствует 11 августа 2007г, 13 часов, 18 минут).
Подробнее в статье о дате и времени в HTML.
HTML код input type="datetime-local":
<input name="guruweba_example_datetime-local" type="datetime-local" />
Input type email - поле для ввода адреса электронной почты
Тип email представляет собой поле, в которое необходимо ввести адрес электронной почты. Браузеры контролируют правильность заполнения поля. Если введенное значение не соответствует формату email-адреса, браузер выведет сообщение об ошибке.
HTML код input type="email":
<input name="guruweba_example_email" type="email" />
Input type file - поле для загрузки файла
Тип file представляет собой поле, в котором в качестве значения используются файлы.
При использовании в HTML форме поля <input> с типом file нужно установить значение multipart/form-data для атрибута enctype родительской формы.
HTML код input type="file":
<input name="guruweba_example_file" type="file" />
Input type hidden - скрытое поле
Тип hidden представляет собой скрытое поле. Такое поле не будет показано пользователю (не отображается на странице сайта). Поля типа hidden используют для передачи служебной информации.
HTML код input type="hidden":
<input name="guruweba_example_hidden" type="hidden" value="48784" />
Input type image - кнопка-картинка
Тип image представляет собой картинку-кнопку. По нажатию на картинку (изображение) происходит отправка связанной формы. Адрес файла картинки определяется в атрибуте src.
HTML код input type="image":
<input name="guruweba_example_image" type="image" src="/images/button_image.png" width="130" height="42" />
Input type month - поле для ввода месяца
Тип month представляет собой поле, в которое пользователь может ввести месяц (месяц конкретного года).
Формат значения, отправляемого на сервер: YYYY-MM, например, "2001-11" (соответствует ноябрю 2001г.).
HTML код input type="month":
<input name="guruweba_example_month" type="month" />
Input type number - поле для ввода чисел
Тип number представляет собой поле, в котором можно вводить только числа. Ограничение на вводимые числа можно задавать с помощью атрибутов max - максимальное значение, min - минимальное значение, step - шаг (подробнее в таблице атрибутов ниже).
HTML код input type="number":
<input name="guruweba_example_number" type="number" />
Input type password - поле для ввода пароля
Тип password представляет собой поле, предназначенное для ввода пароля. Значение, введенное в такое поле, будет показано под маской (обычно в виде точек, количество которых отражает количество введенных символов).
HTML код input type="password":
<input name="guruweba_example_password" type="password" />
Input type radio - переключатель
Тип radio представляет собой переключатель (также используется название радио кнопка).
Для создания переключателя используют несколько тегов input type="radio", имеющих одинаковые значения атрибута name. Таким образом создается группа, где каждый тег <input> соответствует одному положению переключателя. Одновременно выбранным может быть только один из элементов группы.
При отправке формы на сервер, данные передаются только у выбранного (отмеченного) тега радио-кнопки.
Для удобства использования, рядом с радио-кнопками обычно размещают подпись <label>.
HTML код переключателя из input type="radio":
<input id="radio_1" name="guruweba_example_radio" type="radio" value="1" />
<label for="radio_1">Положение 1</label><br />
<input id="radio_2" name="guruweba_example_radio" type="radio" value="2" />
<label for="radio_2">Положение 2</label><br />
<input id="radio_3" name="guruweba_example_radio" type="radio" value="3" />
<label for="radio_3">Положение 3</label>
Input type range - диапазон, ползунок HTML
Тип range представляет собой ползунок, с помощью которого можно выбрать значение в указанном диапазоне. Диапазон значений определяется с помощь атрибутов max - максимальное значение, min - минимальное значение. Атрибут step - устанавливает значение шага для ползунка.
HTML код input type="range":
<input name="guruweba_example_range" type="range" min="5" max="28" />
Input type reset - кнопка сброса, очистки полей
Тип reset представляет собой кнопку, нажатие которой очищает заполнение полей в связанной форме. После нажатия кнопки reset поля будут возвращены к своему первоначальному состоянию.
HTML код input type="reset":
<input name="guruweba_example_reset" type="reset" value="Очистить поля" />
Input type search - поле для ввода поискового запроса
Тип search представляет собой поле, которое предназначено для ввода поискового запроса.
HTML код input type="search":
<input name="guruweba_example_search" type="search" />
Input type submit - кнопка отправки формы
Тип submit соответствует кнопке отправки формы. По нажатию на кнопку типа submit будет вызвано событие отправки (submit) связанной HTML формы.
К одной HTML форме может быть привязано несколько кнопок отправки. На сервер будут переданы данные только той кнопки, которая вызвала событие submit.
HTML код input type="submit":
<input name="guruweba_example_submit" type="submit" value="Отправить" />
Input type tel - поле для ввода номера телефона
Тип tel представляет собой поле, которое предназначено для ввода номера телефона. По умолчанию шаблон ввода не установлен и поле может принимать любые текстовые значения. Указать шаблон можно с помощью атрибута pattern. Другой вариант - использование JavaScript библиотек для установки формата поля.
HTML код input type="tel":
<input name="guruweba_example_tel" type="tel" />
Input type text - текстовое поле HTML
Тип text представляет собой текстовое поле для ввода. Текст в input с типом text вводится в одну строку.
Если нужно создать многострочное поле для ввода, используйте текстовую область <textarea>.
HTML код input type="text":
<input name="guruweba_example_text" type="text" />
Input type time - поле для ввода времени
Тип time представляет собой поле, в котором пользователь может ввести время.
Стандартный формат: hh:mm, например, "14:45". Подробнее о времени в HTML.
HTML код input type="time":
<input name="guruweba_example_time" type="time" />
Input type url - поле для ввода URL адреса
Тип url представляет собой поле, которое используется для ввода URL. Браузеры контролируют правильность заполнения поля. Если введенное значение не соответствует формату URL адреса, браузер выведет сообщение об ошибке.
HTML код input type="url":
<input name="guruweba_example_url" type="url" />
Input type week - поле для выбора недели
Тип week представляет собой поле, в которое пользователь может ввести неделю (например, отметить с помощью календаря, который выводит браузер при вводе в поле).
Стандартный формат: YYYY-Wxx, где "хх" - номер недели, начиная от начала года. Например, "2011-W12" (соответствует 12-й неделе в 2011 году).
Обычно, при заполнении поля, браузеры отображают возле него календарь, в котором можно выбрать неделю. В этом случае формат значения для пользователя может быть изменен, но на сервер отправятся данные в стандартном формате.
HTML код input type="week":
<input name="guruweba_example_week" type="week" />
Поддержка браузерами
Тег | |||||
<input> | Да | Да | Да | Да | Да |
Атрибуты тега input
Атрибут | Значения | Описание |
---|---|---|
accept |
audio/* |
Определяет типы файлов, которые можно использовать в поле input. Используется только для полей с типом file.
|
alt | текст |
Альтернативный текст. Используется только для полей с типом image. Содержит текст, который будет выведен в случае, если изображение невозможно отобразить, а также прочитан программой - скрин-ридером. |
autocomplete | on off |
Автозаполнение поля. Атрибут указывает, должен ли браузер, при повторном использовании поля, подставлять в него значения, введенные пользователем во время предыдущего использования.
Если атрибут использован, значение атрибута autocomplete родительской формы <form> будет проигнорировано для данного поля. |
autofocus | не указывается / autofocus |
Логический атрибут. Если указан, при загрузке документа фокус будет переведен на элемент ввода. |
checked | не указывается / checked |
Логический атрибут. Используется только для полей с типами checkbox и radio. Если указан, то чек-бокс (для checkbox) считается отмеченным или значение переключателя (для radio) выбранным. |
disabled | не указывается / disabled |
Логический атрибут. Если указан, отключает возможность изменить состояние поля (ввести текст, поменять выбранное значение переключателя (для radio), отметить чек-бокс и т.п). Данные поля, отмеченного этим атрибутом, не будут переданы на сервер при отправке формы. |
form | id формы |
Указывает на форму, к которой относится поле. Используется, если поле <input> находится вне HTML кода формы. Если поле находится внутри тега <form>, то использовать атрибут form не нужно, поле по умолчанию привязано к форме, внутри которой находится. |
formaction | URL |
URL адрес документа - обработчика формы. Используется для input с типом image и submit. Если указан, форма будет отправлена по URL адресу, указанному в этом атрибуте, игнорируя атрибут action тега <form>. |
formenctype |
application/x-www-form-urlencoded multipart/form-data text/plain |
Способ кодирования информации. Используется для input с типом image и submit. Указывает как именно нужно кодировать информацию при отправке на сервер, вызванной нажатием кнопки, содержащей этот атрибут.
Атрибут используется только в случае отправки формы методом POST. Этот атрибут переопределяет значение, указанное в атрибуте enctype тега <form>. |
formmethod |
GET |
HTTP метод передачи данных родительской формы.
Подробнее про методы GET и POST. Используется только для input с типом image и submit. Этот атрибут переопределяет значение, указанное в атрибуте method тега <form>. |
formnovalidate | не указывается / formnovalidate |
Логический атрибут. Браузер не будет выполнять проверку правильности заполнения формы перед отправкой, вызванной нажатием input, содержащей этот атрибут. По умолчанию браузер проверяет наличие значения в обязательных полях (required), соответствие значений стандарту (например, для поля с типом email) и т.п. Используется только для input с типом image и submit. Этот атрибут переопределяет значение, указанное в атрибуте novalidate тега <form>. |
formtarget | _blank _paren _self _top имя фрейма |
Определяет где будет открыт результат обработки формы (ответ сервера), при отправке по нажатию кнопки с этим атрибутом:
Используется только для input с типом image и submit. Этот атрибут переопределяет значение, указанное в атрибуте target тега <form>. |
height | число |
Высота изображения в пикселях. Используется только для input с типом image. |
list | id списка |
Прикрепляет к полю список предопределенных вариантов <datalist>. |
max | значение, соответствующее формату поля |
Максимальное значение для поля. Необходимо указывать значение, соответствующее формату поля для которого используется атрибут. Используется только для input с типом date, datetime, datetime-local, month, number, range, time и week. |
maxlength | число |
Максимальное количество символов, допустимое для ввода в поле input. |
min | значение, соответствующее формату поля |
Минимальное значение для поля. Необходимо указывать значение, соответствующее формату поля для которого используется атрибут. Используется только для input с типом date, datetime, datetime-local, month, number, range, time и week. |
multiple | не указывается / multiple |
Логический атрибут. Если указан, позволяет указывать в поле более одного объекта. Используется только для input с типом email и file. При использовании с input type="file" позволяет прикрепить несколько файлов. При использовании с input type="email" позволяет ввести несколько адресов email через запятую. |
name | текст |
Имя поля. Используется при передаче данных формы на сервер. Значение поля (value) будет передано в переменной, имеющей имя, указанное в этом атрибуте. |
pattern | регулярное выражение |
Шаблон ввода. Содержит регулярное выражение, с которым будет сравниваться значение перед отправкой формы. Браузер будет блокировать отправку формы, пока значение в поле не будет удовлетворять указанному регулярному выражению. Используется только для input с типом date, email, password, search, tel, text, url. |
placeholder | текст |
Текст, который будет отображаться внутри поля для ввода, когда оно не заполнено. Обычно это описание того, что должен ввести пользователь, либо пример заполнения. Используется только для input с типом email, password, search, tel, text, url. |
readonly | не указывается / readonly |
Логический атрибут. Если указан, пользователь не сможет изменить значение в поле. Используется для создания полей, доступных только для чтения. |
required | не указывается / required |
Логический атрибут. Если указан, поле будет определено как обязательное для заполнения. Форма не будет отправлена на сервер, если такое поле не будет заполнено. Заполнение контролируется браузером. При попытке отправить форму с незаполненным обязательным полем, браузеры обычно выводят на экран ошибку заполнения. Используется только для input с типом checkbox, date,datetime, datetime-local, email, file, month, number, password, radio, search, tel, text, url, week. |
size | число |
Определяет ширину поля в символах. Ширина поля будет подобрана таким образом, чтобы в поле одновременно было видно количество символов, указанное в атрибуте. Значение атрибута соответствует количеству символов только для моноширинных шрифтов. Используется только для input с типом email, password, search, tel, text, url. |
src | URL |
URL адрес файла изображения. Обязательный для заполнения. Используется только для input с типом image. |
step |
число |
Шаг изменения значения. Значение по умолчанию: "1". При указании числового значения в поле можно будет использовать только значения кратные указанному числу. Например, при указании "5" в поле можно будет ввести числа 0, 5, -5, 25, -155 и т.п., но нельзя будет ввести 1, -3, 28, 156 и т.п. (так как они не кратны числу "5"); при указании "2.5" в поле можно будет вводить 0, 2.5, 5, 7.5 и т.п., но нельзя будет 1, 2.4, 6.2, 8 и т.п. (так как они не кратны числу "2.5"). При указании "any" поле будет принимать любые числа. Используется только для input с типом date, datetime, datetime-local, month, number, range, time и week. |
type |
button |
Тип элемента. Определяет отображение и функционал элемента. Элементы одинакового типа могут отличаться в различных браузерах, однако, как правило, это не влияет на функциональность.
|
value | текст |
Значение элемента, которое будет отправлено на сервер. На сервер отправляется переменная, имеющая название, указанное в атрибуте name элемента и значение, указанное в этом атрибуте. |
width | число |
Ширина изображения в пикселях. Используется только для input с типом image. |
Тег <input> также поддерживает глобальные HTML атрибуты.