# 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
— Номер заявки в личном кабинете Creatiumevent.fields
— Итоговый массив полей формы, с учетом всех изменений, которые могли быть сделаны вbefore-submit
.
# reset
Значения всех полей были сброшены к начальным, после успешной отправки заявки или после вызова form.reset()
.
# before-step-change
Срабатывает перед изменением активного шага.
event.previousIndex
— Номер предыдущего шага.event.activeIndex
— Номер нового активного шага.
# step-change
Срабатывает после изменения активного шага.
event.previousIndex
— Номер предыдущего шага.event.activeIndex
— Номер нового активного шага.
# Примеры
# Отмена отправки формы
Поддержка в Telegram-чате
Подскажем, как решить вашу задачу!
Мы все еще дописываем документацию для разработчиков, поэтому нам важно, чтобы вы писали, что с чем возникают трудности, и какие еще возможности нужно добавить.