API формы

❗️ Важно ❗️

Информация на данной странице актуальна для последней версии JS-кода для вставки формы на сайт. Если вы давно размещали форму на странице, то необходимо заново скопировать код из источника в Digital Pipeline и заменить им уже размещенный.

Оглавление

Загрузка формы

Перед использованием методов объекта amo_forms_params необходимо убедиться, что форма успешно загружена и методы доступны. Сделать это можно с помощью метода amo_forms_loaded, который принимает функцию-колбэк, выполняющуюся после того, как форма проинициализируется.

Если вторым аргументом передать id формы, то колбэк отработает только для указаной формы, если их размещено несколько на странице.

В аргумент колбэка передается объект со свойством form_id, чтобы понимать какая именно форма загрузилась, опять же если их на странице несколько.

Параметры:

Параметр Тип Описание
callback function функция-колбэк
id (не обязательный) string числовой id формы

Пример использования:

amo_forms_loaded(function (params) {
  console.log(params); // { form_id: 1234 }

  // после того, как убедились,
  // что форма загрузилась можем
  // спокойно использовать методы,
  // описанные на этой странице
  if (params.form_id === 1234) {
    amo_forms_params.resizeForm('amoforms_iframe_1234');
  }
});

Для взаимодействия с размещенными на странице формами, существует глобальный объект amo_forms_params, в котором доступны следующие методы:

Принудительный ресайз формы

Метод amo_forms_params.resizeForm(id)

Вызовет перерасчет высоты формы, в соответствии с высотой ее содержимого. Бывает полезен, если при загрузке страницы iframe скрыт (например, в модальном окне), что не позволяет вычислить его высоту. Тогда ручной вызов этого метода при открытии модального окна поможет перерисовать форму.

Параметры:

Параметр Тип Описание
id string id элемента формы

Пример использования:

amo_forms_params.resizeForm('amoforms_iframe_1234');

Подписка на отправку формы

Метод amo_forms_params.onFormSubmit(callback, id)

Добавляет колбэк на отправку формы. Принимает второй опциональный аргумент id формы, если его не передать, то колбэк будет срабатывать при отправке любой формы amoCRM на странице (их может быть размещено несколько).

В качестве аргумента колбэк принимает объект со свойствами form_id и status. В первом приходит числовой id формы, в статусе значение может быть success или fail, в случае успешной отправки или ошибки, соответственно.

Параметры:

Параметр Тип Описание
callback function функция-колбэк
id (не обязательный) string числовой id формы

Пример использования:

amo_forms_params.onFormSubmit(function (params) {
  console.log(params); // { form_id: 1234, status: 'success' }
}, 1234);