<MyRusakov.ru />

Разработчик игр на Unreal Engine

Разработчик игр на Unreal Engine

Этот комплект с нуля всего за 7 месяцев сделает Вас Unreal-разработчиком. И при этом учиться достаточно 1 час в день.

Начнёте Вы с основ программирования, постепенно перейдя к C++. Затем очень подробно изучите Unreal Engine, и после научитесь программировать на C++ в Unreal Engine. В конце создадите крупный проект на C++ в Unreal Engine для своего портфолио.

Комплект содержит:

- 416 видеоуроков

- 95 часов видео

- 1024 задания для закрепления материала из уроков

- 3 финальных тестирования

- 4 сертификата

- 12 Бонусных курсов

Подробнее
Подписка

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

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

HTML inputmode, autocomplete и enterkeyhint: удобные мобильные формы без JavaScript

HTML inputmode, autocomplete и enterkeyhint: удобные мобильные формы без JavaScript

Поисковый запрос, под который написана статья: HTML inputmode как использовать. Если пользователь открывает форму на телефоне, ему важно быстро ввести номер, email, код подтверждения или адрес. Атрибуты inputmode, autocomplete и enterkeyhint помогают улучшить UX без JavaScript: браузер сам покажет подходящую клавиатуру, предложит автозаполнение и изменит текст кнопки Enter.

Зачем нужен inputmode в HTML

inputmode подсказывает браузеру, какую экранную клавиатуру показать. Важно: он не валидирует данные и не меняет тип поля. Это именно подсказка для ввода.

<label>
  Код из SMS
  <input type="text" inputmode="numeric" autocomplete="one-time-code">
</label>

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

Популярные значения inputmode

  • text — обычная текстовая клавиатура.
  • numeric — цифры, удобно для кодов и PIN.
  • decimal — числа с десятичным разделителем.
  • tel — телефонная клавиатура с цифрами, плюсом и символами.
  • email — клавиатура с быстрым доступом к @ и точке.
  • url — клавиатура для адресов сайтов.
  • search — клавиатура для поиска.
  • none — просьба не показывать клавиатуру, используется редко.

Правильный выбор type и inputmode

Новички часто ставят type="number" для всего, что состоит из цифр. Это ошибка, если значение не является числом в математическом смысле. Телефон, индекс, номер карты, SMS-код — это строки, а не числа. У них могут быть ведущие нули, пробелы, плюс или фиксированная длина.

<!-- Плохо для SMS-кода: браузер может убрать ведущий ноль -->
<input type="number" name="code">

<!-- Лучше -->
<input
  type="text"
  name="code"
  inputmode="numeric"
  autocomplete="one-time-code"
  maxlength="6">

Используйте type="number", когда пользователь действительно вводит количество, цену, возраст или другое число, с которым вы будете выполнять вычисления.

Пример: форма входа по SMS-коду

Рассмотрим практический пример. Нам нужна форма, где пользователь вводит телефон и код подтверждения.

<form action="/login" method="post">
  <label for="phone">Телефон</label>
  <input
    id="phone"
    name="phone"
    type="tel"
    inputmode="tel"
    autocomplete="tel"
    placeholder="+7 999 123-45-67"
    required>

  <label for="sms-code">Код из SMS</label>
  <input
    id="sms-code"
    name="sms_code"
    type="text"
    inputmode="numeric"
    autocomplete="one-time-code"
    enterkeyhint="done"
    maxlength="6"
    required>

  <button type="submit">Войти</button>
</form>

Что здесь происходит:

  • type="tel" и inputmode="tel" помогают открыть телефонную клавиатуру.
  • autocomplete="tel" разрешает браузеру подставить сохранённый номер.
  • autocomplete="one-time-code" может предложить код из SMS.
  • enterkeyhint="done" подсказывает браузеру показать на клавиатуре кнопку вроде «Готово».

autocomplete: не только удобство, но и меньше ошибок

Атрибут autocomplete сообщает браузеру, какие данные ожидаются в поле. Благодаря этому пользователь может быстро заполнить имя, email, адрес, телефон или данные доставки.

<form action="/checkout" method="post" autocomplete="on">
  <input name="name" autocomplete="name" placeholder="Имя">
  <input name="email" type="email" autocomplete="email" placeholder="Email">
  <input name="phone" type="tel" autocomplete="tel" placeholder="Телефон">
  <input name="street" autocomplete="street-address" placeholder="Адрес">
  <input name="postal" inputmode="numeric" autocomplete="postal-code" placeholder="Индекс">
</form>

Для интернет-магазинов это особенно полезно: меньше ручного ввода — меньше ошибок и выше шанс, что пользователь завершит заказ.

enterkeyhint: управляйте кнопкой на клавиатуре

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

<input type="search" enterkeyhint="search" placeholder="Найти товар">
<input type="email" enterkeyhint="next" placeholder="Email">
<textarea enterkeyhint="send" placeholder="Сообщение"></textarea>

Частые значения: enter, done, go, next, previous, search, send. Поддержка зависит от браузера и клавиатуры, поэтому воспринимайте этот атрибут как улучшение, а не как критически важную логику.

Мини-шпаргалка для типичных полей

<!-- Email -->
<input type="email" inputmode="email" autocomplete="email">

<!-- Сайт -->
<input type="url" inputmode="url" autocomplete="url">

<!-- Поиск -->
<input type="search" inputmode="search" enterkeyhint="search">

<!-- Индекс -->
<input type="text" inputmode="numeric" autocomplete="postal-code">

<!-- Цена -->
<input type="text" inputmode="decimal" placeholder="199.90">

Советы и частые ошибки

  • Не заменяйте проверку данных атрибутом inputmode. Проверяйте значения на сервере и, при необходимости, на клиенте.
  • Не используйте type="number" для телефонов и кодов. Это может испортить формат и ведущие нули.
  • Добавляйте label. Поле с понятной подписью удобнее и доступнее.
  • Не отключайте autocomplete без причины. Автозаполнение ускоряет работу пользователя.
  • Тестируйте на реальном смартфоне. Разные браузеры и клавиатуры могут вести себя немного по-разному.

Если вы хотите уверенно собирать такие формы, понимать семантику HTML и верстать страницы без хаоса в коде, посмотрите курс «Вёрстка сайта с нуля 2.0» — практичный путь от HTML-разметки до готового макета.

Итог

HTML inputmode помогает показать подходящую клавиатуру, autocomplete ускоряет заполнение, а enterkeyhint делает мобильный ввод понятнее. Эти атрибуты не требуют JavaScript, легко добавляются в существующие формы и заметно улучшают пользовательский опыт.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.