Я разрабатываю плагин на основе других профессиональных плагинов в WordPress. Я хотел бы остановить отправку формы ajax, которая написана в другом плагине. Я не могу изменить код ajax в другом плагине.
Текущий сценарий
Когда я отправляю форму, она перенаправляет меня на новую страницу, но с что он также выполняет запрос ajax. я хочу остановить этот запрос ajax. Просто я просто хочу отправить свою форму в обычном режиме с новой страницей.
HTML
<form id = "redirect_form" class = "abc-form" method = "post" name = "New Form" action = "http://example.com/form-redirect">
<label for = "form-field-field_1" class = "abc-field-label">Test</label>
<input type = "text" name = "form_fields[field_1]" id = "form-field-field_1" placeholder = "Enter a location" autocomplete = "off">
<button type = "submit" class = "form_redirect_to">Submit</button>
</form>
jQuery
jQuery(document).ready(function($){
jQuery('#redirect_form').on('submit',function(e){
e.preventDefault();
e.stopPropagation();
$(this).off("submit");
this.submit();
return false;
});
});
@RomainV Раньше у этой формы не было идентификатора, поэтому я добавил идентификатор для запуска нашего jquery перед формой по умолчанию.
Хорошо, просто чтобы убедиться, что предоставленный вами JQuery принадлежит вам, но есть еще одна функция Jquery, привязанная к этому элементу? Если да, то как Jquery по умолчанию привязывается к форме? По классу, по идентификатору или, может быть, по тегу?
Он связан с использованием класса из другого js
Итак, на данный момент у вас есть '<form id = "redirect_form" class = "abc-form">' . Не можете ли вы изменить его на '<form id = "redirect_form" class = "another-class">'? Таким образом, другие события Jquery не будут запускаться.
хорошо, позвольте мне попробовать это
@RomainV Спасибо, это работает как шарм. Ура! Я также хотел найти решение для предотвращения любого вида ajax. Хотя Спасибо. Это то, чего я хочу. Я принял в качестве ответа. Не могли бы вы добавить свой ответ, чтобы я мог принять его и проголосовать за ваши усилия?
Нет проблем :) Спасибо @Mayank
Это совершенно нелепый вопрос и разговор. в первом комментарии он сказал удалить селектор, который запускает ajax. но вы отказываетесь это делать, и теперь то же самое является вашим решением.
Как вы упомянули в комментарии, событие Jquery по умолчанию связывается с использованием класса формы. При изменении класса по умолчанию событие больше не будет запускаться в функции Jquery по умолчанию.
Изменять:
<form id = "redirect_form" class = "abc-form">
К:
<form id = "redirect_form" class = "another-class">
Вы не можете изменить идентификатор вашей формы? Таким образом, функция Jquery не будет запущена