отправка нескольких форм с AJAX - PullRequest
5 голосов
/ 03 ноября 2011

У меня есть страница, которая содержит несколько форм.Я хочу добавить одну кнопку отправки, которая позволит сохранять все формы одновременно, как показано ниже:

<form id="form1" name="form1" action="someAction" method="post">
    ....form fields
</form>

<form id="form2" name="form2" action="someOtherAction" method="post">
    ....form fields
</form>

<form id="form2" name="form2" action="anotherAction" method="post">
    ....form fields
</form>

<a href="somewhere.html" onclick="submitAll();">Submit All Forms</a>

<script>
    function submitAll() {
        document.form1.submit();
        document.form2.submit();
        document.form3.submit();
    }
</script>

Проблема, с которой я столкнулся, заключается в том, что после отправки первой формыон перенаправляет страницу к месту назначения этой формы - я хочу перехватить это перенаправление, чтобы я мог обработать следующую форму.

Я знаю, что это можно сделать с помощью AJAX, что каким-то образом позволило бы мне перехватить возвращаемую страницу (и игнорировать ее, если я этого захочу), но я не могу понять, как это сделать без сопоставления каждогополей в форме вручную.

Может кто-нибудь помочь?

1 Ответ

9 голосов
/ 03 ноября 2011

Это должно отправить каждую форму через ajax без необходимости самостоятельно сопоставлять поля:

$('form').each(function() {
    var that = $(this);
    $.post(that.attr('action'), that.serialize());
});
...