Атрибут inputmode

Если нужно ввести только цифры зачем показывать всю клавиатуру? Подсказка для браузера какой набор символов нужен.

Время чтения: меньше 5 мин

Кратко

Скопировано

Атрибут inputmode говорит браузеру на устройствах с экранной клавиатурой какой набор символов показать при вводе данных в конкретное поле. Указывается для элементов <input> или <textarea>.

Пример

Скопировано
        
          
          <input type="text" inputmode="numeric"><textarea inputmode="text"></textarea>
          <input type="text" inputmode="numeric">

<textarea inputmode="text"></textarea>

        
        
          
        
      

Как понять

Скопировано

Важно понимать разницу между атрибутом type и атрибутом inputmode:

  • атрибут inputmode только подсказывает браузеру, какой набор символов предложить пользователю для взаимодействия с полем ввода;
  • атрибут type устанавливает тип данных, которые пользователь может ввести в поле ввода.

Вид клавиатуры отличается в зависимости от локализации устройства, используемой операционной системы или браузера.

Как пишется

Скопировано

none

Скопировано

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

text

Скопировано

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

Пример клавиатуры для ввода текста

numeric

Скопировано

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

Пример клавиатуры для ввода числовых значений

В сочетании с атрибутами pattern, minlength и maxlength позволяет настроить поле ввода для разных вариантов использования.

decimal

Скопировано

Ввод дробных значений чисел с разрядами и разделителем. Для использования символа-разделителя (точка или запятая) учитывается локализация устройства пользователя.

tel

Скопировано

Ввод номера телефона на клавиатуре, которая использует числа от 0 до 9, звёздочку * и решётку #.

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

При использовании этого значения, для поля ввода рекомендуется указывать тип tel:

        
          
          <input type="tel" inputmode="tel">
          <input type="tel" inputmode="tel">

        
        
          
        
      

email

Скопировано

Клавиатура, оптимизированная для ввода электронной почты. Символы @ и точка . могут располагаться в более удобном месте. Может иметь отдельные кнопки для ввода доменов первого уровня (.com, .ru).

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

При использовании этого значения, для поля ввода рекомендуется указывать тип email:

        
          
          <input type="email" inputmode="email">
          <input type="email" inputmode="email">

        
        
          
        
      

search

Скопировано

Используется клавиатура, оптимизированная для работы с поиском:

  • кнопка ввода может быть заменена на «Enter», «Поиск» или «Go»;
  • может добавиться функция голосового ввода;
  • может добавиться кнопка ввода эмодзи или смайлов.

url

Скопировано

Используется клавиатура, оптимизированная для ввода ссылок. Может иметь отдельные кнопки для ввода доменов первого уровня (.com, .ru). Символы точки . и косой черты / могут располагаться в более удобных местах.

Пример клавиатуры для ввода ссылок

Посмотрите на смартфоне или планшете, как будут изменяться клавиатуры для полей ввода.

Открыть демо в новой вкладке

Подсказки

Скопировано

💡 Атрибут inputmode поддерживается современными браузерами. Рекомендуем проверять поддержку на сайте Can I use.