2011-11-03 98 views
5

我有一個包含多個表單的頁面。我想添加一個按鈕提交,將允許所有的形式在同一時間被保存,如下圖所示:使用AJAX提交多個表單

<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完成,它可以讓我捕捉返回的頁面(並且如果我願意的話可以忽略它),但我無法弄清楚如何在不映射每個頁面手動形式的字段。

任何人都可以幫忙嗎?

回答

8

這應該通過AJAX提交各種形式,而無需自己映射字段:

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

感謝,正是我需要的! – Elie