Перейти к содержимому

Тег HTML <input>

Тег <input> используется внутри элемента <form> и определяет поля для ввода пользователем данных. Тип поля (текст, флажок, переключатель, поле пароля и т. д.) задаётся значением атрибута type. Тег не содержит текстового содержимого, он включает только атрибуты.

Он относится к группе тегов, называемой элементами формы.

Чтобы связать текст с конкретным элементом, используется тег <label>, который задаёт для него текстовую подпись.

Синтаксис

Тег <input> является пустым, то есть закрывающий тег не требуется. Но в XHTML тег (<input>) должен быть закрыт (<input/>).

Пример тега HTML <input>:

Пример тега HTML <input>

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <form action="/form/submit" method="get">
      <input type="email" name="user_email" placeholder="Enter your email" />
      <input type="submit" value="Submit" />
    </form>
  </body>
</html>

Пример тега HTML <input> с тегом HTML <label>:

Пример тега HTML <input> с тегом HTML <label>

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .form-group { margin-bottom: 10px; }
    </style>
  </head>
  <body>
    <form action="/form/submit" method="get">
      <div class="form-group">
        <label for="first_name">Your Name:</label>
        <input type="text" id="first_name" name="first_name" />
      </div>
      <div class="form-group">
        <label for="last_name">Your Surname:</label>
        <input type="text" id="last_name" name="last_name" />
      </div>
      <div class="form-group">
        <label for="user_email">Enter Your E-Mail:</label>
        <input type="email" id="user_email" name="user_email" />
      </div>
      <input type="submit" value="Submit" />
    </form>
  </body>
</html>

Результат

input tag example

Атрибуты

Основным атрибутом, определяющим тип поля ввода, является type. Если атрибут отсутствует, значение по умолчанию — "text".

АтрибутЗначениеОписание
acceptaudio/* video/* image/* MIME_typeУказывает типы файлов, которые можно отправить через поле загрузки файла. (Используется с type="file").
alignleft right top middle bottomОпределяет тип выравнивания изображения. (Используется только для изображений). Не поддерживается в HTML5.
alttextОпределяет альтернативный текст для изображения. (Используется только для изображений).
autocompleteon offВключает/отключает автозаполнение. Новый атрибут в HTML5.
autofocusautofocusУказывает, что поле формы должно получить фокус после загрузки страницы. Новый атрибут в HTML5.
checkedcheckedУказывает, что элемент должен быть предварительно выбран при загрузке страницы. (Используется только для <input type = "checkbox"> и <input type = "radio">).
disableddisabledУказывает, что элемент должен быть недоступен для взаимодействия с пользователем.
formform_idУказывает форму (заданную элементом <form>) для элемента управления. Значение — идентификатор формы (id) в том же документе. Новый атрибут в HTML5.
formactionURLУказывает адрес, на который будут отправлены данные формы при нажатии на кнопку. (Используется только для <input type = "image"> и <input type = "submit">).
formenctypeapplication/x-www-form-urlencoded multipart/form-data text/plainОпределяет, как кодируются данные формы перед отправкой на сервер. (Используется только с <input type="image"> и <input type="submit">). Значения: application/x-www-form-urlencoded (по умолчанию, кодирует все символы), multipart/form-data (без кодирования, используется для загрузки файлов), text/plain (пробелы становятся +, остальные символы не кодируются).
formmethodget postУказывает метод HTTP-запроса, который будет использоваться при отправке данных формы. (Используется только для <input type = "image"> и <input type = "submit">). get отправляет данные формы в адресной строке. post отправляет данные на сервер для обработки.
formnovalidateformnovalidateУказывает, что проверка данных на корректность не требуется. (Используется только для <input type = "submit">).
formtarget_blank _self _parent _topУказывает, где отображать ответ после отправки формы. (Используется только для <input type = "image"> и <input type = "submit">).
heightpixelsОпределяет высоту элемента (используется только для <input type = "image">).
inputmodeverbatim latin latin-name latin-prose full-width-latin kana katakana numeric tel email urlОпределяет раскладку клавиатуры.
listdatalist_idОпределяет список вариантов, из которых пользователь может выбрать. Значение атрибута — это id элемента <datalist>.
maxnumber dateЗадаёт максимальное значение для ввода числа или даты.
maxlengthnumberОпределяет максимальное количество символов, которое пользователь может ввести.
minnumber dateЗадаёт минимальное значение для ввода числа или даты.
multiplemultipleУказывает, что пользователь может ввести более одного значения в элементе (только для <input type = "file"> и <input type = "email">).
nametextОпределяет имя элемента. (Используется для идентификации формы).
patternregular expressionУказывает регулярное выражение, согласно которому нужно вводить и проверять данные в поле формы. (Только для элементов управления text, search, tel, url, email и password).
placeholdertextОпределяет короткую подсказку, описывающую ожидаемое значение для поля ввода. Пользователь видит подсказку в поле ввода. Она исчезает, когда пользователь начинает вводить данные или когда поле получает фокус.
readonlyreadonlyОпределяет, что поле ввода доступно только для чтения. Пользователь не может вносить изменения.
requiredrequiredУказывает, что поле ввода должно быть заполнено перед отправкой формы.
sizenumberОпределяет видимую ширину текстового поля в символах. (Только для text, search, tel, url, email и password). По умолчанию — 20 символов.
srcURLУказывает путь к изображению, которое используется как кнопка «отправить». (Используется только для <input type = "image">).
stepnumberЗадаёт шаг изменения (значение приращения) для числовых полей. Используется с атрибутами min и max, которые определяют минимальное и максимальное значения.
typebutton checkbox color date datetime datetime-local email file hidden image month number password radio range reset search submit tel text time url weekОпределяет тип поля ввода.
valuetextОпределяет значение элемента.
widthwidthОпределяет ширину элемента (только для <input type = "image">).

Тег <input> также поддерживает глобальные атрибуты и атрибуты событий.

Значения атрибута type

ЗначениеОписание
buttonОпределяет активную кнопку.
checkboxФлажки (пользователь может выбрать более одного варианта).
colorУказывает палитру цветов (пользователь может выбирать значения цвета в шестнадцатеричном формате).
dateОпределяет поле ввода для календарной даты.
datetime (deprecated)Определяет поле ввода для даты и времени. (Устарело в HTML5, вместо этого используйте datetime-local.)
datetime-localОпределяет поле ввода для даты и времени без часового пояса.
emailОпределяет поле ввода для e-mail.
fileЗадаёт элемент управления с кнопкой Обзор, нажатие на которую позволяет выбрать и загрузить файл.
hiddenОпределяет скрытое поле ввода. Оно не видно пользователю.
imageУказывает, что вместо кнопки для отправки данных на сервер используется изображение. Путь к изображению задаётся атрибутом src. Атрибут alt также можно использовать для указания альтернативного текста, а атрибуты height и width — для указания высоты и ширины изображения.
monthОпределяет поле выбора месяца, после чего данные будут отображаться в формате год-месяц (например: 2018-07).
numberОпределяет поле ввода для чисел.
passwordОпределяет поле для ввода пароля (введённые символы отображаются как звёздочки, точки или другие символы).
radioСоздаёт переключатель (при выборе одного переключателя все остальные будут отключены).
rangeСоздаёт ползунок для выбора чисел в указанном диапазоне. Диапазон по умолчанию — от 0 до 100. Диапазон чисел задаётся атрибутами min и max.
resetОпределяет кнопку для сброса информации.
searchСоздаёт текстовое поле для поиска.
submitСоздаёт кнопку отправки данных формы («кнопка отправки»).
textСоздаёт однострочное текстовое поле.
timeУказывает числовое поле для ввода времени в 24-часовом формате (например, 13:45).
urlСоздаёт поле ввода для URL.
weekСоздаёт поле для выбора недели, после чего данные будут отображаться в формате год-неделя (например: 2018-W25).

Практика

What can be achieved with the HTML <input> tag?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.