Как перехватить submit всех форм на странице, включая динамические? Приветствую. Есть код:$('form').submit(function(){
var form_data = $(this).serializeArray();

form_data.push({name:'cbk_sites_conf_id', value:cbk_sites_conf_id});
form_data.push({name:'site', value:cbk_site});
form_data.push({name:'pre_referrer', value:localStorage.first_refferer});
$.post('//example.com/widget/cbk_vizov', form_data);
//console.log(form_data);
//return false;
});
Который перехватывает все формы. Но если форма была создана динамически на странице, на неё не вешается событие.
Пробовал изменить код так:setTimeout(function(){
console.log('inited');
$('html').on( 'submit', 'form', function () {
console.log(this);
var form_data = $(this).serializeArray();

form_data.push({name:'cbk_sites_conf_id', value:cbk_sites_conf_id});
form_data.push({name:'site', value:cbk_site});
form_data.push({name:'pre_referrer', value:localStorage.first_refferer});
$.post('//example.com/widget/cbk_vizov', form_data);
});
},3000);
И вообще не работает XD Как правильно перехватывать все формы на странице, даже есди они были созданы динамически (рисуются в модальных окнах)?

21 Авг 2019 в 06:26
166 +1
0
Ответы
1

Для того чтобы перехватить submit всех форм на странице, включая динамически созданные формы, можно использовать делегирование событий через метод on() в jQuery.

Вот пример кода, который позволит перехватить submit всех форм, даже динамически созданных:

$(document).on('submit', 'form', function() {
var form_data = $(this).serializeArray();
form_data.push({name:'cbk_sites_conf_id', value:cbk_sites_conf_id});
form_data.push({name:'site', value:cbk_site});
form_data.push({name:'pre_referrer', value:localStorage.first_refferer});
$.post('//example.com/widget/cbk_vizov', form_data);
// Можно добавить дополнительные действия здесь
return false; // Чтобы предотвратить отправку формы по умолчанию
});

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

Надеюсь, это поможет вам решить проблему с перехватом submit всех форм на странице. Удачи!

20 Апр в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 577 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир