Форма — это способ получить что-то от читателя: подписку на новости, заявку, заказ обратного звонка. Читатель заполняет поля и нажимает кнопку, а дальше работает скрипт: принимает данные, что-то с ними делает и отвечает странице.
Поля формы
Форма собирается из полей разных типов:
- Текст — одна строка: имя, название компании, тема обращения.
- Число — только цифры: количество, сумма, год.
- Почта — адрес электронной почты с проверкой формата.
- Пароль — вводится скрытыми символами.
- Многострочный текст — для комментариев и описаний.
- Выбор из списка — читатель выбирает один вариант из готовых.
- Флажок — согласие или подтверждение: например, «согласен на обработку данных».
- Дата — выбор даты из календаря.
- Скрытое поле — читателю не видно, но значение уходит вместе с заявкой. Так в форму добавляют служебные пометки: откуда пришла заявка, какая это страница.
Проверка перед отправкой
Обязательные поля проверяются до отправки, прямо в браузере. Если что-то не заполнено или почта введена неверно, читатель увидит подсказку и останется на месте — введённые значения не пропадут. Флажок обязателен только тогда, когда он отмечен как обязательный.
Что делает ответ скрипта
После отправки скрипт может по-разному ответить странице:
- сообщение — всплывающая подсказка: об успехе, ошибке или с информацией;
- обновление блоков — часть страницы пересчитывается с новыми данными, например увеличивается счётчик подписчиков;
- переход — открывается другая страница портала или внешний адрес, например страница благодарности;
- скачивание файла — читатель сразу получает файл, который собрал скрипт.
Если скрипт вернул мягкую ошибку
Иногда данные формально заполнены, но не подходят: например, такая почта уже подписана или указан несуществующий код. В этом случае скрипт возвращает мягкую ошибку, и её текст показывается прямо под формой — читатель видит, что поправить, и все введённые значения остаются на месте. Заново набирать форму не нужно.
Подтверждение и защита от двойных нажатий
Перед отправкой можно задать вопрос-подтверждение — например, «Отправить заявку?». Пока идёт отправка, кнопка показывает, что работа идёт, и повторно нажать её нельзя: двойная заявка не уйдёт. На публичном сайте действует и общая защита от частых отправок — не больше десяти в минуту с одного адреса.
Пример: подписка на новости
В демонстрационном портале есть форма подписки: имя и почта. После отправки появляется сообщение об успехе, а блок со счётчиком подписчиков на той же странице обновляется и показывает новое число. Форма очищается и готова к следующей подписке. Так выглядит полный рабочий круг: заполнил — отправил — увидел результат на странице.
Дальше: как агент правит контент — в разделе Управление агентом; как считаются данные для формы — в разделе Скрипты и зависимости; как открыть форму снаружи — в разделе Публичный сайт.