Не срабатывает событие submit() на формах, использующих webfom_ajax

Главные вкладки

Аватар пользователя bukhnerav bukhnerav 23 февраля 2020 в 23:09

Всем привет!
Пробую отследить событие submit с помощью кода

$('form').submit(function(){
        alert('form_submit');
});

Первое, что удивило меня, почему submit() не хочет работать с jquery 1.10. Только с версиями 2.x или 3.x
Но это не так страшно. Основная проблема в том, что если форма отправляется с помощью webfom_ajax, то не срабатывает с любой версией. Если отключить отправку через webfom_ajax, то работает.
Подскажите, как решить данную проблему. Спасибо!

Лучший ответ

Аватар пользователя bukhnerav bukhnerav 24 февраля 2020 в 12:04

Всем спасибо за отклики. Решил так:
Добавил скрипт непосредственно в confirmation message, используя токены webform. Таким образом, получилось однозначно отсечь ложные срабатывания и получить нужные данные.

Комментарии

Аватар пользователя bukhnerav bukhnerav 24 февраля 2020 в 0:51

Жаль, ведь mousedown срабатывает даже если форма не отправлена, например, если поля обязательные не заполнены.
Задача состоит в перехвате submit и отправки значений в crm, если перехватывать mousedown думаю будет много пустых заявок.
Не подскажите, как выйти из ситуации? Спасибо.

Аватар пользователя marassa marassa 24 февраля 2020 в 7:05

bukhnerav wrote:
Задача состоит в перехвате submit и отправки значений в crm, если перехватывать mousedown думаю будет много пустых заявок.

А это точно на клиенте нужно делать? А что если клиентская валидация прошла, а на сервере по какой-то причине заявка не создалась? Не лучше ли на сервере добавить код, пересылающий готовую заявку в crm? Например через rules?

Аватар пользователя bukhnerav bukhnerav 24 февраля 2020 в 12:04

Всем спасибо за отклики. Решил так:
Добавил скрипт непосредственно в confirmation message, используя токены webform. Таким образом, получилось однозначно отсечь ложные срабатывания и получить нужные данные.