Поля форм не обязательно должны появляться внутри тега >. Их можно разместить в любом месте страницы. Информацию из таких полей нельзя передавать на сервер (это возможно только для всей формы целиком), но когда мы делаем поля, которые обрабатывает JavaScript, нам обычно и не нужно передавать информацию из полей через >submit.
>
(text)
>
(password)
>
(checkbox)
>
>
> (radio)
>
(file)
Интерфейс JavaScript для таких элементов разнится в зависимости от типа. Мы рассмотрим каждый из них чуть позже.
У текстовых полей на несколько строк есть свой тег >. У тега должен быть закрывающий тег >, и он использует текст внутри этих тегов вместо использования атрибута >value.
>
>один
>два
>три
>
А тег > используется для создания поля, которое позволяет пользователю выбрать один из заданных вариантов.
>
>
>
>
>
Когда значение поля изменяется, запускается событие >“change”.
Фокус
В отличие от большинства элементов документа HTML, поля форм могут получать фокус ввода клавиатуры. При щелчке или выборе их другим способом они становятся активными, т.е. главными приёмниками клавиатурного ввода.
Если в документе есть текстовое поле, то набираемый текст появится в нём, только если поле имеет фокус ввода. Другие поля по-разному реагируют на клавиатуру. К примеру, > пытается перейти на вариант, содержащий текст, который вводит пользователь, а также отвечает на нажатия стрелок, передвигая выбор варианта вверх и вниз.
Управлять фокусом из JavaScript можно методами >focus и >blur. Первый перемещает фокус на элемент DOM, из которого он вызван, а второй убирает фокус. Значение >document.activeElement соответствует текущему элементу, получившему фокус.
>
>
> document.querySelector("input").focus();
> console.log(document.activeElement.tagName);
> // → INPUT
> document.querySelector("input").blur();
> console.log(document.activeElement.tagName);
> // → BODY
>
На некоторых страницах нужно, чтобы пользователь сразу начинал работу с какого-то из полей формы. При помощи JavaScript можно передать этому полю фокус при загрузке документа, но в HTML также есть атрибут