После некоторого тестирования и отладки я обнаружил строку в плагине jquery-validate, которая имеет такое поведение.Когда мы нажимаем кнопку отправки, jquery-validate проверяет все поля формы, включая поле удаленной проверки.Как только он завершает удаленную проверку, плагин запускает событие отправки формы через строку кода:
line 1123: $(this.currentForm).submit();
Когда форма уже подтверждена и нажата кнопка, событие отправки использует 'formAction'атрибут кнопки.
Если форма еще не проверена и имеется удаленная проверка, вызывается событие отправки формы, поэтому форма не имеет действия, и для публикации используется текущий URL.
Решения, которые можно использовать для решения проблемы:
Решение 1:
Проверка формы при загрузке страницы.
$(function () {
$('form').valid();
});
Решение 2:
Добавьте атрибут формы в форму в качестве нажатой кнопки.
$(function () {
$('form button').click(function () {
if (this.formAction) {
$(this).parent('form').attr('action', this.formAction);
}
});
});