Вебсправочник
Справочник HTML

Тег <form>: сбор и отправка данных

Как связать поля, выбрать метод отправки и отделить интерфейс от обработки данных.

Зачем нужен этот элемент

form объединяет элементы ввода для отправки на сервер. Сама разметка не сохраняет заявки и не отправляет письма: по указанному адресу должен работать обработчик. У каждого отправляемого поля нужен name, иначе его значение не попадёт в обычную отправку.

Для обработчика, написанного на PHP, понадобится хостинг с поддержкой PHP и подходящей версией интерпретатора. Это один из вариантов серверной реализации; если страница остаётся статической, одного тега form для обработки заявок недостаточно.

Метод GET подходит для поиска и фильтров, когда параметры полезно видеть в адресе. POST применяют для операций с данными. Ни один метод не заменяет HTTPS и серверную проверку. В учебной песочнице отправка форм специально заблокирована.

Синтаксис и пример

<form action="/search/" method="get">
  <label for="query">Что найти?</label>
  <input id="query" name="q" type="search" required>
  <button type="submit">Найти</button>
</form>

Что важно в разметке

Параметр Как использовать
action Адрес серверного обработчика.
method get или post.
enctype Для файлов обычно multipart/form-data.
name полей Ключи отправляемых значений.

Частая ошибка

Нельзя считать required и type=»email» защитой сервера. Клиентскую проверку можно обойти; обработчик обязан валидировать данные самостоятельно.

Небольшая практика

Добавьте подписи к полям и проверьте их связность. Настоящую отправку тестируйте только на своём обработчике, не на случайном внешнем адресе.

Разберите также <input>, <label>: эти элементы пригодятся в том же интерфейсе.

Попробуйте сами

HTML + CSS песочница
РЕЗУЛЬТАТ · ИЗОЛИРОВАННЫЙ ПРЕДПРОСМОТР
Измените код и нажмите «Запустить». JavaScript и внешние запросы отключены.
Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.