API de formularios web
Carga del formulario
Antes de utilizar los métodos del objeto amo_forms_params, es necesario asegurarse de que el formulario se haya cargado correctamente y de que los métodos estén disponibles. Esto se puede hacer utilizando el método amo_forms_loaded, el cual acepta una función callback que se ejecuta una vez que el formulario ha sido inicializado.
Si se pasa el ID del formulario como segundo argumento, el callback solo se ejecutará para ese formulario específico, lo cual es útil si hay varios formularios en la página. La función callback recibe un objeto con la propiedad form_id, lo que permite identificar qué formulario fue cargado.
| Parámetro | Tipo | Descripción |
|---|---|---|
| callback | function | Función callback |
| id (opcional) | string | ID numérico del formulario |
amo_forms_loaded(function (params) {
console.log(params);
if (params.form_id === 123456) {
amo_forms_params.resizeForm('amoforms_iframe_123456');
}
}); Métodos del formulario
Para interactuar con los formularios añadidos en la página, existe un objeto global llamado amo_forms_params, el cual tiene disponibles los siguientes métodos:
Redimensionamiento forzado del formulario
El método amo_forms_params.resizeForm(id) recalcula la altura del formulario según la altura de su contenido. Esto es útil si el iframe está oculto cuando la página se carga (por ejemplo, dentro de una ventana modal), lo que impide que su altura se calcule correctamente. Al llamar manualmente a este método cuando se abre la ventana modal, el formulario se vuelve a renderizar correctamente.
| Parámetro | Tipo | Descripción |
|---|---|---|
| id | string | ID del elemento del formulario |
amo_forms_params.resizeForm('amoforms_iframe_123456');Suscribirse al envío del formulario
El método amo_forms_params.onFormSubmit(callback, id) añade un callback para el envío del formulario. Acepta un segundo argumento opcional: el ID del formulario. Si se omite, el callback se ejecutará cuando se envíe cualquier formulario de amoCRM presente en la página (puede haber varios formularios).
El callback recibe como argumento un objeto con las propiedades form_id y status. La primera contiene el ID numérico del formulario, mientras que la segunda puede ser success o fail, dependiendo de si el envío fue exitoso o si ocurrió un error.
| Parámetro | Tipo | Descripción |
|---|---|---|
| callback | function | Función callback |
| id (optional) | int | ID numérico del formulario |
amo_forms_params.onFormSubmit(function (params) {
console.log(params); // { form_id: 1234, status: 'success' }
}, 123456);Updated 6 days ago
