Как сделать поле ввода в html
Что такое input (инпут)? Тег input в HTML представляет собой элемент управления формы. Он позволяет пользователю вводить данные и взаимодействовать с сайтом или приложением.
Тег input в HTML — cинтаксис
Записывается как ( без закрывающегося тега ). Тегу присваивается атрибут type для указания типа элемента управления и атрибут name , чтобы процессор формы мог ссылаться на него. Часто используется атрибут value для указания значения по умолчанию для элемента управления.
Базовый пример синтаксиса тега с несколькими атрибутами:
Пример, содержащий три элемента в стандартной форме:
Базовая форма
Ниже приводится форма, которая используется для ввода имени/фамилии пользователя. Используются три тега input type : для имени и фамилии, один для кнопки отправки:
Атрибут form
Мы можем связать тег input с формой с помощью атрибута form .
Если вы используете атрибут form , то должны указать идентификатор формы, с которой необходимо связать элемент.
В следующем примере я разместил элементы, связанные с формой, вне элемента
Радио-кнопки (переключатели)
В этом примере мы создадим радиокнопки. Для этого тега input атрибуту type присваивая значение radio .
Каждый пункт для выбора в группе должен иметь одно и то же значение name . Таким образом они связываются. Через value мы можем задавать различные варианты:
Связанные с формой элементы
Тег input рассматривается как связанный с формой элемент. Так как он может принадлежать определенной форме.
В этой главе описываются различные типы ввода для элемента .
В переводе с анг. input - ввод (данных); type - тип (данных).
HTML Типы ввода
Здесь различные типы ввода, которые вы можете использовать в HTML:
Input Type Text - Тип ввода Текст
определяет однострочное поле ввода текста:
Пример
Вот как HTML-код выше будет отображаться в браузере:
Input Type Password - Тип ввода Пароль
определяет поле пароля:
Пример
Вот как HTML-код выше будет отображаться в браузере:
User name:
User password:
Попробуйте заполнить поля! Символы в поле пароля маскируются (отображаются в виде звездочек или кружков).
определяет кнопку для отправки данных формы в обработчик форм.
Обработчик форм обычно представляет собой серверную страницу со скриптом для обработки входных данных.
Обработчик формы указывается в атрибуте action :
Пример
Вот как HTML-код выше будет отображаться в браузере:
Если вы опустите атрибут значения кнопки отправки, кнопка получит текст по умолчанию:
Пример
Input Type Reset - Тип ввода Сброс
определяет кнопку сброса, которая сбросит все значения формы к их значениям по умолчанию:
Пример
Вот как HTML-код выше будет отображаться в браузере:
Input Type Radio - Тип ввода Радио
определяет радио-кнопку.
Переключатели (радио-кнопки) позволяют пользователю выбрать ТОЛЬКО ОДИН из ограниченного числа вариантов:
Пример
Вот как HTML-код выше будет отображаться в браузере:
Male
Female
Other
Input Type Checkbox - Тип ввода Флажок
определяет флажок.
Флажки позволяют пользователю выбрать НОЛЬ или БОЛЬШЕ вариантов из ограниченного числа вариантов.
Пример
Вот как HTML-код выше будет отображаться в браузере:
I have a bike
I have a car
Input Type Button - Тип ввода Кнопка
определяет кнопку:
Пример
Вот как HTML-код выше будет отображаться в браузере:
HTML5 Типы ввода
HTML5 добавил несколько новых типов ввода:
Новые типы ввода, которые не поддерживаются старыми веб-браузерами, будут вести себя как .
Input Type Color - Тип ввода Цвет
используется для полей ввода, которые должны содержать цвет.
В зависимости от поддержки браузера в поле ввода может отображаться палитра цветов.
Пример
Input Type Date - Тип ввода Дата
используется для полей ввода, которые должны содержать дату.
В зависимости от поддержки браузера в поле ввода может отображаться средство выбора даты.
Пример
Вы также можете использовать атрибуты min и max чтобы добавить ограничения для даты:
Пример
Input Type Datetime-local - Тип ввода Локальные дата/время
задает поле ввода даты и времени, без часового пояса.
В зависимости от поддержки браузера в поле ввода может отображаться средство выбора даты.
Пример
Input Type Email - Тип ввода Email
используется для полей ввода, которые должны содержать адрес электронной почты.
В зависимости от поддержки браузера адрес электронной почты может автоматически проверяться при отправке.
Некоторые смартфоны распознают тип электронной почты и добавляют ".com" к набору с клавиатуры, чтобы соответствовать вводу электронной почты
Пример
Input Type File - Тип ввода Файл
определяет поле выбора файла и кнопку "Обзор" для загрузки файла.
Пример
Input Type Month - Тип ввода Месяц
позволяет пользователю выбрать месяц и год.
В зависимости от поддержки браузера в поле ввода может отображаться средство выбора даты.
Пример
Input Type Number - Тип ввода Число
определяет числовое поле ввода.
Вы также можете установить ограничения на то, какие номера принимаются.
В следующем примере показано числовое поле ввода, где вы можете ввести значение от 1 до 5:
Пример
Ограничения на ввод
Список некоторых общих ограничений ввода:
Атрибут | Описание |
---|---|
checked | Указывает, что поле ввода должно быть предварительно выбрано при загрузке страницы (для type="checkbox" или type="radio") |
disabled | Указывает, что поле ввода должно быть отключено |
max | Определяет максимальное значение для поля ввода |
maxlength | Определяет максимальное количество символов для поля ввода |
min | Определяет минимальное значение для поля ввода |
pattern | Определяет регулярное выражение для проверки входного значения |
readonly | Указывает, что поле ввода доступно только для чтения (не может быть изменено) |
required | Указывает, что поле ввода является обязательным (должно быть заполнено) |
size | Определяет ширину (в символах) поля ввода |
step | Определяет допустимые интервалы номеров для поля ввода |
value | Определяет значение по умолчанию для поля ввода |
Вы узнаете больше об ограничениях ввода в следующей главе.
В следующем примере показано числовое поле ввода, в котором вы можете ввести значение от 0 до 100 с шагом 10. Значение по умолчанию - 30:
Пример
Input Type Range - Тип ввода Диапазон
определяет элемент управления для ввода числа, точное значение которого не имеет значения (например, элемент управления ползунка). Диапазон по умолчанию от 0 до 100. Однако вы можете установить ограничения на то, какие числа принимаются с атрибутами min , max и step :
Пример
Input Type Search - Тип ввода Поиск
используется для полей поиска (поле поиска ведёт себя как обычное текстовое поле).
Пример
Input Type Tel - Тип ввода Телефон
используется для полей ввода, которые должны содержать номер телефона.
Пример
Input Type Time - Тип ввода Время
позволяет пользователю выбрать время (без часового пояса).
В зависимости от поддержки браузера в поле ввода может отображаться указатель времени.
Пример
Input Type Url - Тип ввода Url
используется для полей ввода, которые должны содержать URL адрес.
В зависимости от поддержки браузера, поле URL может быть автоматически проверено при отправке.
Некоторые смартфоны распознают тип URL и добавляют ".com" к вводу на клавиатуре, чтобы соответствовать вводу URL
Пример
Input Type Week - Тип ввода Неделя
позволяет пользователю выбрать неделю и год.
В зависимости от поддержки браузера в поле ввода может отображаться средство выбора даты.
Ниже приведены значения атрибута type , введенные в стандарте HTML 5.
Значение type | Описание |
---|---|
search | Текстовое поле, предназначенное для ввода поискового запроса. Отличается от обычного текстового поля своим лексическим назначением. Некоторые браузеры отображают на нем дополнительную кнопку очистки поля. |
Текстовое поле для ввода адресов электронной почты. По умолчанию элемент принимает только один адрес, но указав булев атрибут multiple="multiple" можно разрешить пользователю ввод нескольких адресов через запятую. | |
url | Текстовое поле для ввода абсолютного IRI . |
tel | Поле для ввода телефонных номеров. В отличие от полей ввода почтовых адресов и URL, телефонный номер по умолчанию не проходит проверку при отправке данных, поскольку существует множество различных форматов телефонных номеров. |
number | Поле числового ввода. Визуально похоже на текстовое, но с добавлением кнопок-стрелок, позволяющих увеличивать и уменьшать значение. |
range | Специальный элемент для выбора значения из заданного диапазона. Представляет собой ползунок, минимальное и максимальное значения которого задаются в атрибутах min и max соответственно, а шаг — в атрибуте step . |
time | Элемент для ввода времени. Похож на поле для ввода чисел, но с разделением на часы и минуты. |
date | Элемент для выбора даты, представляющий собой выпадающий григорианский календарь. |
datetime-local | Комбинация двух предыдущих элементов для ввода даты и времени без учета часового пояса. |
datetime | То же, что и предыдущий элемент, но с установленной временной зоной UTC . |
week | Элемент для выбора недели. Визуально аналогичен элементу с type="date" , отличается лишь формат значения. |
month | Элемент для выбора месяца. Визуально аналогичен элементу с type="date" , отличается лишь формат значения. |
color | Специальный элемент для выбора цвета в формате RGB . |
Упомянутые атрибуты min , max и step позволяют определить диапазон и шаг допустимых значений не только для элемента с типом range , но и в случае с number и всеми типами, связанными с выбором даты и времени, включая week и month . Конечно, значения этих атрибутов, как и атрибута value , должны быть в соответствующем формате, который легко увидеть на практике, добавив нужный элемент в документ.
Все текстовые поля с произвольной длиной значения поддерживают еще три атрибута — maxlength , позволяющий ограничить эту длину; size , в котором задается количество символов, визуально помещающихся в элемент (относительная ширина элемента); а также pattern , в котором можно указать регулярное выражение JavaScript, определяющее шаблон допустимых значений. Например, pattern="3" означает, что в данном поле можно указать число от 0 до 9.
Элемент поддерживает атрибут autocomplete , аналогичный атрибуту формы. Значения on и off позволяют включить и, соответственно, отключить функцию автозаполнения поля браузером. По умолчанию атрибут считается установленным в on .
Многострочный текст, атрибуты текстовых элементов
Вообще говоря, элемент не поддерживает перенос строки, а значит не позволяет вводить многострочный текст. Для этих целей существует специальный тег
Если текст не помещается в строку
, то он переносится на следующую. Если же строк больше, чем вмещается в элемент, то автоматически появляется полоса прокрутки. В HTML 5 есть еще атрибут, определяющий способ передачи содержимого на сервер — это wrap . Установленный в значение hard , он добавляет код символа переноса в конец каждой строки. По умолчанию же значением wrap является soft , при котором символы переноса строки не добавляются.
Альтернативная кнопка, перегрузка атрибутов формы
Исторически так сложилось, что кнопки можно добавлять не только тегом , но и с помощью элемента . В целом, он повторяет ту часть функциональности , которая касается кнопок. Так значением атрибута type могут быть reset , submit и button , отвечающие за функции очистки формы, отправки данных и кнопки без определенного действия соответственно. Отличается тег тем, что он парный, и надпись на кнопке определяется не в атрибуте value , а в содержимом элемента.
Кпопка отправки данных, будь это или , позволяет переопределить некоторые атрибуты формы (элемента
Стандарт HTML 5 не определяет способы использования полученных ключей. Возможна, например, реализация механизма, при котором сервер, получив открытый ключ, сгенерирует пользовательский сертификат и предложит его сохранить вместе с секретным ключом в хранилище ключей браузера. А пользователь при необходимости сможет использовать его для авторизации на сервере.
Другие элементы форм
В HTML 5 появился элемент , имя и значение которого также передаются на сервер при отправке формы. Однако он не является элементом ввода и предназначен для хранения и отображения каких-либо результатов вычислений. Например, с помощью JavaScript можно организовать подсчет по формуле, переменные которой вводятся в других полях формы. Кроме атрибута name , привычно содержащего имя передаваемого на сервер поля, поддерживает также атрибут for , в котором можно указать один или несколько идентификаторов элементов, так или иначе связанных с отображаемым результатом. Сам результат содержится внутри элемента.
Еще одним элементом, который привязывается к другим, является . В отличие от , он не поддерживает атрибут name , а его значение не отправляется на сервер. Кроме того, в атрибуте for может быть указан только один идентификатор привязываемого поля ввода. Если for вообще отсутствует, то привязывается к своему же содержимому. Такая привязка, помимо очевидного лексического смысла, обладает одним полезным свойством — если, например, связан с полем , то флажок будет менять свое значение не только при нажатии по нему, но и по этому .
Разместив несколько элементов внутри одного , можно таким образом лексически объединить их в одну группу. Визуально выглядит как рамка, в левом верхнем углу которой пишется заголовок. Его можно указать в элементе , располагаемым сразу за открывающим тегом . Несмотря на то, что этот элемент не влияет на отправляемые на сервер данные, он все же поддерживает атрибут name .
Атрибуты элементов ввода
В значении атрибута accesskey можно указать один или несколько (через пробел) одиночных Unicode-символов, на базе которых браузер попытается построить комбинацию клавиш для быстрого доступа к элементу. Помните, что браузеры делают это на свое усмотрение и итоговые комбинации могут отличаться или вовсе отсутствовать.
Большинство элементов форм поддерживают булев атрибут disabled="disabled" , отключающий их функциональность. Установив disabled в элементе ,
, , или , вы не сможете ввести или выбрать его значение. Элемент с таким атрибутом нельзя будет выбрать из списка. Помещенный в , он отключит всю группу вариантов, а в — все дочерние элементы ввода. Значения отключенных элементов пишутся серым шрифтом.
HTML 5 позволяет разместить элемент вне формы или даже связать его с несколькими формами одновременно. Для этого необходимо в атрибуте form указать через пробел идентификаторы этих форм. Атрибут поддерживается следующими элементами: ,
Элементы форм, которые могут получать фокус ввода, поддерживают булев атрибут autofocus="autofocus" . Если установить его в одном из таких элементов, то фокус установится на нем сразу после загрузки страницы. Этот атрибут также появился в HTML 5.
7 комментариев
Ben @ 10 января 2014
Виктория @ 16 апреля 2015
Мирослав @ 27 января 2016
Увы. сочетает в одном элементе выбор года и месяца. Однако, для выбора года вполне сойдет type="number", для выбора месяца - .
Алексей @ 28 января 2016
Есть форма с кнопкой (сабмит) и отдельно textarea.
Попытался связать их через атрибут form.
Все нормально, НО при нажатии на сабмит текст не передается на сервер.
В чем соль?
HTML-формы требуются для сбора данных от посетителей сайта. Например, при регистрации на Uber, Netflix или Facebook пользователь вводит свое имя, почту и пароль.
Примечание: В примерах ниже уже заданы CSS стили, поэтому они отличаются от того, что получится у вас. CSS файлы можно скачать отсюда:
Элемент Form
Элемент Form () оборачивает все элементы внутри HTML-формы.
Атрибуты:
Примечание: Нельзя создать форму внутри формы. То есть использование элемента
Читайте также: