2008-11-24 81 views
5

我在頁面上有兩種形式(一種由AJAX抓取)。我需要它們都被髮布,所以我序列化第二個,並在提交第一個之前使用jQuery發送它。但是,只有第一種形式似乎正在發佈。但奇怪的是,如果我在序列化後的帖子後面發出警報,它會按預期工作。我的問題到底是什麼?在jQuery中發佈/提交多個表單

$("#submit").livequery('click', function() { 
    var form = $("#second_form"); 
    var action = form.attr("action"); 
    var serialized_form = form.serialize(); 
    $.post(action, serialized_form); 

    //alert('test'); 

    $("#first_form").submit(); 

    return false; 
}); 

有沒有更好的方法來發布兩個表單,然後重定向到按鈕按下新的頁面?我嘗試使用上述方法發佈他們兩個,然後使用window.location來更改頁面,但我有一個類似的問題。

非常感謝!

回答

5

您可以嘗試在「second_form」後的回調中提交「first_form」。我相信「first_form」的提交是卸載導致第二個帖子被中止的頁面。在「second_form」的回調中做「first_form」的帖子將確保在第二篇文章開始前完成初始文章。

$("#submit").livequery('click', function() { 
    var form = $("#second_form"); 
    var action = form.attr("action"); 
    var serialized_form = form.serialize(); 
    $.post(action, serialized_form, submit_first); 
}); 

function submit_first(val) { 
    $("#first_form").submit(); 
} 
+0

完美!非常感謝 - 我沒有意識到提交卸載的頁面。 :d – Wickethewok 2008-11-25 00:36:49