Тег input, атрибут type

Type css для чего

Многогранный тег позволяет создавать поля ввода, кнопки, переключатели и другие интерактивные элементы.

Кратко

Скопировать ссылку «Кратко» Скопировано

Тег позволяет создавать интерактивные элементы на сайте — поле для ввода текста, кнопка, ползунок, переключатель и другие.

Пример

Скопировать ссылку «Пример» Скопировано

Создадим поле для ввода текста в одну строчку и ограничим количество допустимых символов в нём:

   type="text" name="name" required minlength="4" maxlength="8" size="10"> label for="name">Введите название (от 4 до 8 символов):label> input type="text" id="name" name="name" required minlength="4" maxlength="8" size="10" >      

Как понять

Скопировать ссылку «Как понять» Скопировано

— это контейнер для интерактивных элементов, с помощью которых пользователь может ввести данные, что-то выбрать, поставить галочку или нажать кнопку.

Как пишется

Скопировать ссылку «Как пишется» Скопировано

Если хочется, чтобы введённые или выбранные в данные отправились на сервер, нужно поместить этот тег в либо связать этот элемент с формой через атрибут id .

Атрибут type определяет, какой вид примет элемент и какую функцию будет выполнять: например, для создания поля с паролем мы напишем type = «password» , чтобы сделать переключатель — type = «radio» , а для создания кнопки — type = «button» .

Благодаря огромному количеству вариантов и функций, которые задаются через type и другие атрибуты, стал одним из самых полезных и сложных тегов в HTML.

Атрибуты

Скопировать ссылку «Атрибуты» Скопировано

К элементу можно применить все глобальные атрибуты.

type

Скопировать ссылку «type» Скопировано

type — тип элемента : текстовое поле, кнопка, флажки выбора и так далее. Если не указать его, то элемент будет обычным текстовым полем text в одну строку.

Типы для ввода данных разных форматов:

  • text — поле для ввода текста в одну строку. Если попробовать вставить текст из нескольких абзацев, то они всё равно сложатся в одну строчку.
  • email — поле для ввода имейла. Браузер проверит, есть ли в нём знак «@» и домен.
  • search — поле для поиска.
  • tel — поле для ввода номера телефона.
  • url — поле для ввода URL-адреса.
  • password — ввод пароля. По мере ввода символы будут меняться на звёздочки ***. Можно задать минимальное и максимальное количество символов с помощью атрибутов minlength и maxlength .
  • number — ввод числа.

Типы для различных кнопок:

  • submit — простая кнопка для отправки формы.
  • button — обычная кнопка.
  • image — кнопка «Отправить» в виде картинки. Чтобы задать адрес картинки, используйте атрибут src , а для альтернативного текста — атрибут alt . Чтобы скорректировать размер изображения в пикселях, используйте атрибуты height и width .
  • reset — кнопка, которая сбрасывает всё, что пользователь ввёл в поля текущей формы ранее.
  • date — ввод даты без времени: год, месяц и дата.
  • datetime — local — ввод даты и времени в текущем часовом поясе, когда зоны UTC не указываются.
  • month — ввод месяца и года, без указания часового пояса.
  • week — ввод номера недели.
  • time — ввод времени без указания часового пояса.
  • checkbox — флажки, или чекбокс, с несколькими вариантами на выбор.
  • radio — круглая кнопка-переключатель для выбора одного из нескольких вариантов.
  • range — ползунок для выбора чисел из заданного диапазона.
  • color — виджет для выбора цвета. Иногда его называют колорпикер (от английского colorpicker).
  • file — выбор файла для отправки.

И отдельно стоит значение hidden . Поле ввода с этим значением атрибута type не видно на странице, но в то же время оно отправляет своё значение на сервер.

Большое преимущество установки правильного значения для type — в мобильных браузерах будет появляться «специальная» клавиатура, упрощающая и улучшающая пользовательский опыт. Так, для у пользователя отобразится клавиатура, содержащая лишь цифры и специальные символы, нужные для корректного ввода номера телефона. Пример такой клавиатуры можно увидеть на картинке ниже:

Пример клавиатуры для поля ввода номера телефона

value

Скопировать ссылку «value» Скопировано

value — значение элемента , которое отправляется на сервер в формате «имя=значение». Имя задаётся атрибутом name , а значение — value . Например, .

  • Если — кнопка ( ), то value будет надписью на ней. Значение value для кнопки ( ) не передаётся на сервер.
  • Если — кнопка в виде картинки ( ), то value будет передано в виде двух значений координат нажатия относительно изображения имя . x и имя . y , где имя — это значение атрибута name .
  • Если — текстовое поле ( ), то value задаст текст, который появится в этом поле при загрузке страницы. Пользователь сможет его удалить или отредактировать.
  • Если вы вставляете флажок или переключатель ( ), то value задаст уникальное значение элемента, по умолчанию on .

Прочие атрибуты

Скопировать ссылку «Прочие атрибуты» Скопировано

  • name — уникальное имя элемента. Обычно имя нужно, чтобы связать с формой и отправить данные на сервер.
  • required — делает поле для ввода обязательным для заполнения. Пользователь не сможет нажать «Отправить», пока не введёт сюда данные. А если попробует, то браузер выведет сообщение о необходимости заполнить поле.
  • disabled — отключает элемент. Пользователь не сможет, например, ввести текст или выбрать нужный параметр, а сам элемент будет отображаться в сером цвете, как неактивный.
  • autocomplete — разрешает автозаполнение. Автозаполнение — это когда браузер предлагает сохранить, например, пароль или номер банковской карты, чтобы данные подставлялись при следующем входе. Подробнее можно прочитать в статье про autocomplete .
  • autofocus — фокусируется на элементе сразу после загрузки страницы. Это значит, что пользователю не нужно специально нажимать на этот элемент, чтобы начать в нём что-то писать. В фокусе может быть только один элемент на странице. Но это не может быть элемент типа hidden .
  • form — связывает отдельно стоящий элемент с формой. Для этого укажите в качестве значения имя идентификатора, который задан нужному тегу . Например, так form = «special — form» . Этот атрибут позволяет разместить в любом месте на странице за пределами . Если его не указать, элемент будет связан с ближайшей формой.
  • list — связывает с элементом через его ID. В элементе указывают значения, которые пользователь может выбрать, когда вбивает текст в пустое поле. Допустим, вы ввели букву «М» в поле ввода города, и браузер предложил варианты из : «Москва», «Минск» и так далее. Этот атрибут не подходит для таких типов , как hidden , password , checkbox , radio , file и любых кнопок.
  • readonly — не позволяет пользователю как-либо изменять элемент, оставляя его при этом рабочим. Применимо только для текстовых полей.
  • step — указывает шаг, с которым будет изменяться значение поля. Задаётся в числовом формате и работает с любым из перечисленных типов: number , range , date и datetime — local .
  • min , max — указывают минимальные и максимальные числовые значения соответственно для полей с типами number и range . Минимальные и максимальные значения даты в формате ГГГГ — ММ — ДД для полей с типами date и datetime — local .
  • size — указывает ширину поля для ввода в символах.
  • placeholder — это короткая подсказка (слово или фраза), предназначенная для помощи пользователю при вводе данных, когда поле для ввода пустует.
  • pattern — задаёт регулярное выражение, по которому проверяется значение элемента .
  • multiple — указывает, что пользователь может выбрать больше одного значения.

Подсказки

Скопировать ссылку «Подсказки» Скопировано

💡 Чтобы даже те, кто использует специальные средства для чтения с экрана (скринридеры), могли точно понять, что делает тот или иной , используйте этот тег в паре с label .

Ещё пример

Скопировать ссылку «Ещё пример» Скопировано

Вот так будет выглядеть простая форма, собранная из нескольких элементов . Мы поместили их все в контейнер , чтобы данные, которые введёт пользователь, можно было отправить на сервер:

    Текстовое поле в одну строчку:  Радиокнопки:   Вариант 1    Вариант 2    Вариант 3    Большое текстовое поле:  form name="test" method="post" action="input1.php"> label> Текстовое поле в одну строчку: input type="text" size="40"> label> fieldset> Радиокнопки: label class="radio-label"> input type="radio" name="browser" value="ie" id="ie"> Вариант 1 label> label class="radio-label"> input type="radio" name="browser" value="opera" id="opera"> Вариант 2 label> label class="radio-label"> input type="radio" name="browser" value="firefox" id="firefox"> Вариант 3 label> fieldset> label> Большое текстовое поле: textarea name="comment" cols="40" rows="3">textarea> label> div> input type="reset" value="Очистить"> input type="submit" value="Отправить"> div> form>      

На практике

Скопировать ссылку "На практике" Скопировано

Дока Дог советует

Скопировать ссылку "Дока Дог советует" Скопировано

🛠 У есть несколько полезных CSS-псевдоклассов. Например, может иметь разные стили в обычном, сфокусированном и выключенном виде. А если между этими видами добавлять анимацию, можно сделать даже красиво. Например, как поля в Bootstrap, когда ты нажимаешь на , он начинает плавно подсвечиваться обводкой.

🛠 Если вы используете или , можно сами инпуты вообще скрыть: переключение будет работать при нажатии на лейбл. Так можно сделать очень красивые чекбоксы и радиокнопки на чистом CSS. Например, я как-то сделал чекбоксы на сайте в стиле классических переключалок из iOS.

Источник

Атрибут type

Сообщает браузеру, к какому типу относится элемент формы.

Синтаксис

Обязательный атрибут

Значения

В табл. 1 перечислены возможные значения атрибута type и получаемый вид поля формы.

Табл. 1. Значения type

Тип Описание Вид
button Кнопка.
checkbox Флажки. Позволяют выбрать более одного варианта из предложенных. Пиво Чай Кофе
file Поле для ввода имени файла, который пересылается на сервер.
hidden Скрытое поле. Оно никак не отображается на веб-странице.
image Поле с изображением. При нажатии на рисунок данные формы отправляются на сервер.
password Обычное текстовое поле, но отличается от него тем, что все символы показываются звездочками. Предназначено для того, чтобы никто не подглядел вводимый пароль.
radio Переключатели. Используются, когда следует выбрать один вариант из нескольких предложенных. Пиво Чай Кофе
reset Кнопка для возвращения данных формы в первоначальное значение.
submit Кнопка для отправки данных формы на сервер.
text Текстовое поле. Предназначено для ввода символов с помощью клавиатуры.

В HTML5 добавлены новые значения, представленные в табл. 2.

Табл. 2. Значения type в HTML5

Тип Описание
color Виджет для выбора цвета.
date Поле для выбора календарной даты.
datetime Указание даты и времени.
datetime-local Указание местной даты и времени.
email Для адресов электронной почты.
number Ввод чисел.
range Ползунок для выбора чисел в указанном диапазоне.
search Поле для поиска.
tel Для телефонных номеров.
time Для времени.
url Для веб-адресов.
month Выбор месяца.
week Выбор недели.

Поддержка этих значений браузерами показана в табл. 3.

Табл. 3. Поддержка браузерами значений HTML5

Значение Internet Explorer Chrome Opera Safari Firefox Android iOS
color 21.0+ 11.01+
date 5.0+ 10.62+ 5.0+ 5.0+
datetime 5.0+ 10.62+ 5.0+ 5.0+
datetime-local 5.0+ 10.62+ 5.0+ 5.0+
email 10.0 5.0+ 10.62+ 5.0+ 4.0+ 2.3+ 3.1+
month 5.0+ 10.62+ 5.0+ 5.0+
number 10.0 6.0+ 10.62+ 5.0+ 2.3+ 4.0+
range 10.0 5.0+ 10.62+ 5.0+ 23.0+ 5.0+
search 10.0 5.0+ 11.01+ 5.0+ 4.0+ 4.0+
tel 10.0 5.0+ 11.01+ 5.0+ 4.0+ 3.1+
time 5.0+ 10.62+ 5.0+ 5.0+
url 10.0 5.0+ 10.62+ 5.0+ 4.0+ 2.3+ 3.1+
week 5.0+ 10.62+ 5.0+ 5.0+

Значение по умолчанию

       

Пиво Чай Кофе

       

Введите число от 1 до 10

Источник

Атрибут type

Сообщает браузеру, какой синтаксис использовать, чтобы правильно интерпретировать таблицу стилей. Как правило, браузеры корректно работают со стилями и при отсутствии этого атрибута, он необходим для некоторых старых браузеров, которые могут не распознать содержимое контейнера .

Синтаксис

Значения

В качестве значения используется MIME-тип — text/css .

Значение по умолчанию

Обязательный атрибут

Обязателен в HTML4 и XHTML, не нужен в HTML5.

     a:link < color: #003366; >a:visited < color: #660066; >a:hover < color: #800000; >a:active 

Lorem ipsum dolor sit amet

Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.

Типы тегов

HTML5

Блочные элементы

Строчные элементы

Универсальные элементы

Нестандартные теги

Осуждаемые теги

Видео

Документ

Звук

Изображения

Объекты

Скрипты

Списки

Ссылки

Таблицы

Текст

Форматирование

Формы

Фреймы

Источник

Читайте также:  Python все возможные комбинации элементов
Оцените статью