# Form

Все новые формы используют этот класс.

var form = page.getComponent('form-id');

Старые формы к этому классу не подключены.

# Свойства

# name

Тип: String

Название формы

# isValid

Тип: Boolean

Правильно ли заполнены все поля.

# isQuiz

Тип: Boolean

Является ли форма пошаговой.

# fields

Тип: Field[]

Список всех полей формы.

# Методы

# recalculate

form.recalculate()

Запускает пересчет полей в форме-калькуляторе. Полезно, если в калькуляторе используются глобальные переменные, и нужно вызывать пересчет.

# setName

form.setName(name)

Изменяет имя формы, которое затем попадает в CRM.

# reset

form.reset()

Сбрасывает значения всех полей на начальные, которые были заданы при публикации в редакторе.

# submit

form.submit()

Отправляет форму.

# События

# before-submit

Срабатывает после того, как форма успешно прошла валидацию, перед отправлением данных на сервер.

  • event.prevent() — Отменяет отправление формы.
  • event.fields — Массив полей формы, который можно модифицировать, например:
event.fields.push({
    name: 'Ширина экрана',
    value: window.innerWidth,

    // ID для интеграций, не обязательный параметр
    uid: 'screen-width',
});

# submit

Форма успешно отправлена.

  • event.orderId — Номер заявки в личном кабинете Creatium
  • event.fields — Итоговый массив полей формы, с учетом всех изменений, которые могли быть сделаны в before-submit.

# reset

Значения всех полей были сброшены к начальным, после успешной отправки заявки или после вызова form.reset().

# before-step-change

Срабатывает перед изменением активного шага.

  • event.previousIndex — Номер предыдущего шага.
  • event.activeIndex — Номер нового активного шага.

# step-change

Срабатывает после изменения активного шага.

  • event.previousIndex — Номер предыдущего шага.
  • event.activeIndex — Номер нового активного шага.

# Примеры

# Отмена отправки формы

Отмена отправки формы

Поддержка в Telegram-чате

Подскажем, как решить вашу задачу!

Мы все еще дописываем документацию для разработчиков, поэтому нам важно, чтобы вы писали, что с чем возникают трудности, и какие еще возможности нужно добавить.