элемент, предназначенный для сбора и отправки данных
Форма в HTML состоит из контейнера и различных элементов, позволяющих пользователю вводить данные и взаимодействовать с веб-страницей
<form>
определяет область сбора данных и параметры их отправки
<form action="/search" method="GET">
<input type="text" name="query" placeholder="Введите запрос">
<button type="submit">Искать</button>
</form>
<form action="/login" method="POST">
<input type="text" name="username" placeholder="Логин">
<input type="password" name="password" placeholder="Пароль">
<button type="submit">Войти</button>
</form>
actionуказывает URL, на который отправляются данные.
methodопределяет способ передачи данных (GET или POST).
GET
– данные передаются через URL (используется для
поиска, фильтров).
POST
– данные передаются скрыто в теле запроса
(используется для логинов, регистрации).
autocompleteвключает (on) или выключает (off) автозаполнение.
<input>отвечает за ввод данных
type
text
– обычное текстовое поле
password
– поле для ввода пароля (звёздочки вместо
символов)
email
– поле для ввода email (проверяет корректность)
number
– поле для числового ввода (со стрелками)
date
– выбор даты через календарь
checkbox
– флажки для выбора нескольких вариантов
radio
– переключатели для выбора одного варианта
file
– загрузка файла
submit
– кнопка отправки формы
reset
– кнопка сброса формы
<textarea>используется для ввода длинного текста
<textarea rows="4" cols="50" placeholder="Введите сообщение"></textarea>
Тег
<label>
улучшает доступность формы, связывая текстовую
подпись с полем ввода
<label for="username">Имя пользователя:</label>
<input type="text" id="username" name="username">
submitИспользуется для отправки данных формы
<button type="submit">Отправить</button>
resetОчищает все поля формы
<button type="reset">Сбросить</button>
<form action="/submit" method="POST">
<label for="name">Имя:</label>
<input type="text" id="name" name="name">
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<button type="submit">Отправить</button>
<button type="reset">Очистить</button>
</form>
selectсоздаёт выпадающий список
<label for="city">Выберите город:</label>
<select id="city" name="city">
<option value="moscow">Омск</option>
<option value="spb">Санкт-Петербург</option>
<option value="kazan">Москва</option>
</select>
multiple
разрешает множественный выбор
size
задаёт количество видимых элементов списка
name
имя, под которым данные отправляются на сервер.
<option>задаёт вариант в списке
value
– значение, передающееся на сервер
selected
– делает этот вариант выбранным по умолчанию
disabled
– делает вариант недоступным для выбора
<select name="language">
<option value="html">HTML</option>
<option value="css" selected>CSS</option>
<option value="js" disabled>JavaScript (недоступно)</option>
</select>
<optgroup>объединение связанных опций в группы
<label for="cars">Выберите автомобиль:</label>
<select id="cars" name="car">
<optgroup label="Германия">
<option value="bmw">BMW</option>
<option value="audi">Audi</option>
</optgroup>
<optgroup label="Япония">
<option value="toyota">Toyota</option>
<option value="honda">Honda</option>
</optgroup>
</select>
Когда форма содержит несколько связанных полей, их
удобно группировать с помощью
<fieldset>
<fieldset>
<legend>Контактные данные</legend>
<label for="name">Имя:</label>
<input type="text" id="name" name="name" />
<label for="email">Email:</label>
<input type="email" id="email" name="email" />
</fieldset>
<legend>размещается внутри <fieldset> и задаёт заголовок группы
<fieldset>
<legend>Личные данные</legend>
<label for="fname">Имя:</label>
<input type="text" id="fname" name="fname">
<label for="lname">Фамилия:</label>
<input type="text" id="lname" name="lname">
</fieldset>
Для гибкого расположения полей формы можно
использовать
<div>
,
<p>
и другие блоки
name
- Имя поля, используемое при отправке данных на
сервер
id
- Уникальный идентификатор элемента
value
- Начальное значение элемента формы
placeholder
- Текст-подсказка внутри поля ввода
required
- Обязательное поле для заполнения
readonly
- Поле доступно только для чтения
disabled
- Поле отключено (не отправляется с формой)
pattern
Регулярное выражение для проверки формата ввода
<input pattern="\+7\d{10}" placeholder="+7XXXXXXXXXX" required type="tel" id="phone" name="phone" >
min
/
max
Минимальное и максимальное значение для чисел и дат
step
Шаг изменения значения
<input type="number" id="age" name="age" min="18" max="60" step="5" required />
Формы могут менять свой стиль в зависимости от состояния элементов и это можно реализовать с помощью псевдоклассов
:focus
- Стилизация элемента при фокусе (когда
пользователь вводит данные)
:hover
- Стилизация элемента при наведении курсора
:disabled
- Стилизация отключенных элементов
:checked
- Стилизация отмеченных чекбоксов и радиокнопок
button:hover {
background-color: #0056b3;
}