логотип PurpleSchool
логотип PurpleSchool

Событие input в JavaScript

Автор

Дмитрий Нечаев

Событие input в JavaScript является одним из основных событий для обработки ввода данных пользователем в элементы форм, такие как <input>, <textarea> и <select>. Оно срабатывает каждый раз, когда значение элемента изменяется, что делает его незаменимым для создания динамичных и интерактивных веб-приложений. В этой статье мы рассмотрим, как работает событие input, его особенности и как его можно использовать для реализации различных функциональностей.

Как работает событие "input"?

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

Примеры использования события "input"

Реализация мгновенного поиска

Рассмотрим пример, где событие input используется для реализации механизма мгновенного поиска, который фильтрует список элементов по мере ввода текста пользователем.

// Элемент input для ввода текста поиска
const searchInput = document.getElementById('searchInput');

// Элемент списка, который будет фильтроваться
const list = document.getElementById('myList');
const items = list.querySelectorAll('li');

// Функция для фильтрации списка
searchInput.addEventListener('input', function(event) {
    const searchText = event.target.value.toLowerCase();

    items.forEach(item => {
        const text = item.textContent.toLowerCase();
        if (text.includes(searchText)) {
            item.style.display = '';
        } else {
            item.style.display = 'none';
        }
    });
});

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

Валидация ввода в реальном времени

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

const emailInput = document.getElementById('emailInput');
const feedback = document.getElementById('feedback');

emailInput.addEventListener('input', function() {
    const email = emailInput.value;
    const valid = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);

    if (valid) {
        feedback.textContent = 'Email валидный!';
        feedback.style.color = 'green';
    } else {
        feedback.textContent = 'Некорректный Email.';
        feedback.style.color = 'red';
    }
});

В данном случае пользователь получает немедленную обратную связь о корректности введенного email адреса.

Заключение

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

Стрелочка влевоСобытие invalid в JavaScriptСобытийная модель Event в JavaScriptСтрелочка вправо

Все гайды по Javascript

Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Итератор в JavaScript
try...catch в JavaScriptError в JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие mouseout в JavaScriptСобытие load в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
Как работает метод some() - JavaScriptКак работает метод reverse() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript
Открыть базу знаний