Техническое задание: Интерактивная веб-форма с интеграцией

Цель проекта

Разработать клиентское веб-приложение (форму) на чистом JavaScript, которое обеспечивает интуитивно понятный процесс сбора данных с последующей отправкой в указанную информационную систему.

Ключевые функциональные требования

  • Динамический интерфейс: Форма должна автоматически добавлять или скрывать обязательные поля в реальном времени, основываясь на выборах и вводимых пользователем данных.
  • Валидация данных: Реализовать проверку корректности заполнения полей перед отправкой.
  • Формирование и отправка данных: Собранные данные необходимо преобразовывать в строго определённый формат JSON и отправлять на заданный эндпоинт (URL) информационной системы с помощью AJAX-запроса (например, через fetch API).
  • Адаптивный дизайн: Форма должна корректно отображаться и быть удобной для использования на различных устройствах (ПК, планшеты, смартфоны).

Технические требования

  • Технологии: HTML5, CSS3, Vanilla JavaScript (без использования тяжелых фреймворков, типа React или Angular, если это не оговорено отдельно). Допускаются легкие библиотеки для утилит.
  • Структура данных: Конкретная структура итогового JSON-объекта будет предоставлена отдельно.
  • Эталонный пример: За основу интерфейса и логики поведения можно взять форму, представленную по указанной в исходном запросе ссылке.

Ожидаемый результат

  • Работоспособная, протестированная HTML-страница с формой.
  • Чистый, документированный код на JavaScript.
  • Корректная отправка данных в формате JSON во внешнюю систему.