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

28. Datalist and Autocomplete

Иллюстрация к уроку В этом уроке мы рассмотрим, как использовать тег <datalist> для добавления функциональности автозаполнения к полям ввода HTML. Это позволяет пользователям быстрее и удобнее вводить данные в ваши формы.

Тег <datalist> представляет собой список предопределенных опций для элемента <input>. Он не отображается сам по себе, а используется для предоставления пользователю списка возможных значений при вводе текста в поле ввода. <datalist> связывается с <input> через атрибут list.

Вот простой пример использования <datalist>:

<label for="browser">Выберите браузер:</label>
<input list="browsers" name="browser" id="browser">
<datalist id="browsers">
<option value="Chrome">
<option value="Firefox">
<option value="Safari">
<option value="Opera">
<option value="Edge">
</datalist>

В этом примере:

  • list="browsers" в теге <input> связывает его с <datalist> с id="browsers".
  • <datalist id="browsers"> содержит список <option>, представляющих возможные значения для поля ввода. Когда пользователь начинает вводить текст в поле ввода, браузер покажет выпадающий список с подходящими вариантами.

Атрибут value в теге <option> определяет значение, которое будет установлено в поле ввода, когда пользователь выберет этот вариант.

Хотя <datalist> сам по себе не имеет множества атрибутов, важно понимать, что поведение автозаполнения также зависит от атрибутов, используемых в связном теге <input>. Например, required, placeholder, pattern и другие атрибуты будут влиять на валидацию и отображение поля ввода.

<datalist> и автозаполнение широко используются на веб-сайтах и в веб-приложениях для улучшения пользовательского опыта.

  • Поля поиска: Многие сайты используют <datalist> для предоставления предложений при вводе поискового запроса. Например, при вводе части слова в поисковую строку на сайте электронной коммерции, сайт может предлагать популярные продукты, начинающиеся с этих букв.

  • Поля ввода адреса: Сайты доставки или онлайн-магазины могут использовать <datalist> для автозаполнения полей ввода адреса, предлагая варианты на основе введенного почтового индекса или названия улицы.

  • Фреймворки UI: Многие UI библиотеки и фреймворки (например, React, Angular, Vue.js) предоставляют компоненты, которые оборачивают функциональность <datalist>, добавляя дополнительные возможности, такие как асинхронная подгрузка данных для автозаполнения.

  • <datalist> предоставляет список предопределенных опций для <input>.
  • Связь между <input> и <datalist> устанавливается через атрибут list в <input> и id в <datalist>.
  • <option> внутри <datalist> определяет возможные значения для поля ввода.
  • Автозаполнение улучшает пользовательский опыт, облегчая и ускоряя ввод данных.
  • <datalist> может быть использован в различных сценариях, таких как поля поиска и поля ввода адреса.