Проблема с jQuery .submit
-
18-09-2019 - |
Вопрос
У меня небольшая проблема с jQuery:у меня есть .submit()
определено в форме, когда я отправляю форму, нажимая кнопку отправки, даже триггеры и все работает гладко, однако, когда я использую document.forms[0].submit()
, событие не запускается, но форма отправляется!Есть ли причина, почему?Как я могу это преодолеть?
Решение
Вот так оно и работает - вызов родного .submit()
не запускает обработчик событий JavaScript.
Используйте jQuery .submit()
вместо:
$('form:first').submit();
Другие советы
Если форма отправки называется так
<form method="POST" id="the_waffle_form">
Затем вы можете отправить его, сделав это.
$("#the_waffle_form").submit();
Проверьте документация чтобы увидеть больше замечательных примеров.
Некоторые из нас вынуждены использовать код из устаревших систем.Эти системы не соответствуют требованиям и в моем случае ожидают обновления.Но когда системой пользуются несколько тысяч человек, просто невозможно зайти и изменить код на базовые пакеты.Поэтому мы вынуждены искать обходные пути.В моем случае формы не имеют идентификаторов или имен, поэтому используя document.forms[0].submit()
это один из единственных вариантов.
Это может показаться странным, но почему вы вообще используете document.forms[0].submit()
когда вы уже используете jQuery.
Простое (может быть, глупое?) предложение:Не используйте document.forms[0].submit()
используйте это вместо этого
$("#hereidofyourform").submit()