Вопрос

У меня небольшая проблема с 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()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top