2008-11-24 80 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