在jQuery中发布/提交多个表单

我在页面上有两个表单(一个是由AJAX抓取的)。 我需要它们都被发布,所以我序列化第二个并使用jQuery在一个post中发送它,然后再提交第一个。 但是,只有第一个表单似乎已发布。 奇怪的是,如果我在序列化的post之后发出警报它按预期工作。 这到底是什么问题?

$("#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更改页面,但我遇到了类似的问题。

非常感谢!

您可以尝试在“second_form”的post中回调提交“first_form”。 我相信“first_form”的提交正在卸载页面,导致第二个post被中止。 在“second_form”的回调中执行“first_form”的post将确保在第二个post开始之前完成初始post。

 $("#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(); }