API de formulários web

Carregamento do formulário

Antes de usar os métodos do objeto amo_forms_params, você precisa garantir que o formulário foi carregado com sucesso e que os métodos estão disponíveis. Isso pode ser feito usando o método amo_forms_loaded, que aceita uma função de chamada de retorno (callback) que é executada assim que o formulário é inicializado.

Se o ID do formulário for passado como segundo argumento, a chamada de retorno (callback) será executada apenas para o formulário específico, o que é útil se houver vários formulários na página. A chamada de retorno recebe um objeto com uma propriedade form_id, permitindo identificar qual formulário foi carregado.

ParâmetroTipoDescrição
callbackfunctionFunção de chamada de retorno
id (opcional)stringID numérico do formulário
amo_forms_loaded(function (params) {
  console.log(params);
  if (params.form_id === 123456) {
    amo_forms_params.resizeForm('amoforms_iframe_123456');
  }
});

Métodos de formulário

Para interagir com os formulários colocados na página, existe um objeto global amo_forms_params, que tem os seguintes métodos disponíveis:

Redimensionamento forçado do formulário

O método amo_forms_params.resizeForm(id) recalculará a altura do formulário com base na altura do seu conteúdo. Isso é útil se o iframe estiver oculto quando a página for carregada (por exemplo, em uma janela modal), impedindo que sua altura seja calculada. Chamar manualmente esse método quando a janela modal for aberta repintará o formulário.

ParâmetroTipoDescrição
idstringID do elemento do formulário
amo_forms_params.resizeForm('amoforms_iframe_123456');

Inscrever-se para envio de formulário

O método amo_forms_params.onFormSubmit(callback, id) adiciona uma chamada de retorno (callback) para envio de formulário. Ele aceita um segundo argumento opcional, o ID do formulário. Se omitido, a chamada de retorno será acionada quando qualquer formulário amoCRM na página for enviado (pode haver vários formulários).

A chamada de retorno aceita um objeto com as propriedades form_id e status como argumento. O primeiro contém o ID numérico do formulário, enquanto o segundo pode ser success ou fail, respectivamente, em caso de envio bem-sucedido ou erro.

ParâmetroTipoDescrição
callbackfunctionFunção de chamada de retorno
id (opcional)intID numérico do formulário
amo_forms_params.onFormSubmit(function (params) {
  console.log(params); // { form_id: 1234, status: 'success' }
}, 123456);