---
title: "Формы"
id: "1985"
type: "page"
slug: "forms"
published_at: "2026-09-20T15:43:09+00:00"
modified_at: "2026-09-21T00:00:47+00:00"
url: "https://pastukhov.com/agents/portal/docs/forms"
markdown_url: "https://pastukhov.com/agents/portal/docs/forms.md"
excerpt: "Форма — это способ получить что-то от читателя: подписку на новости, заявку, заказ обратного звонка.…"
---

# Формы

[https://pastukhov.com/agents/portal/docs/forms.md](https://pastukhov.com/agents/portal/docs/forms.md)

Форма — это способ получить что-то от читателя: подписку на новости, заявку, заказ обратного звонка. Читатель заполняет поля и нажимает кнопку, а дальше работает скрипт: принимает данные, что-то с ними делает и отвечает странице.

## Поля формы

Форма собирается из полей разных типов:

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

## Проверка перед отправкой

Обязательные поля проверяются до отправки, прямо в браузере. Если что-то не заполнено или почта введена неверно, читатель увидит подсказку и останется на месте — введённые значения не пропадут. Флажок обязателен только тогда, когда он отмечен как обязательный.

## Что делает ответ скрипта

После отправки скрипт может по-разному ответить странице:

- **сообщение** — всплывающая подсказка: об успехе, ошибке или с информацией;
- **обновление блоков** — часть страницы пересчитывается с новыми данными, например увеличивается счётчик подписчиков;
- **переход** — открывается другая страница портала или внешний адрес, например страница благодарности;
- **скачивание файла** — читатель сразу получает файл, который собрал скрипт.

## Если скрипт вернул мягкую ошибку

Иногда данные формально заполнены, но не подходят: например, такая почта уже подписана или указан несуществующий код. В этом случае скрипт возвращает мягкую ошибку, и её текст показывается прямо под формой — читатель видит, что поправить, и все введённые значения остаются на месте. Заново набирать форму не нужно.

## Подтверждение и защита от двойных нажатий

Перед отправкой можно задать вопрос-подтверждение — например, «Отправить заявку?». Пока идёт отправка, кнопка показывает, что работа идёт, и повторно нажать её нельзя: двойная заявка не уйдёт. На публичном сайте действует и общая защита от частых отправок — не больше десяти в минуту с одного адреса.

## Пример: подписка на новости

В демонстрационном портале есть форма подписки: имя и почта. После отправки появляется сообщение об успехе, а блок со счётчиком подписчиков на той же странице обновляется и показывает новое число. Форма очищается и готова к следующей подписке. Так выглядит полный рабочий круг: заполнил — отправил — увидел результат на странице.

Дальше: как агент правит контент — в разделе [Управление агентом](/agents/portal/docs/management)
; как считаются данные для формы — в разделе [Скрипты и зависимости](/agents/portal/docs/scripts)
; как открыть форму снаружи — в разделе [Публичный сайт](/agents/portal/docs/public-site)
.

[← Оглавление документации](/agents/portal/docs)
