2012-02-07 38 views
1

我想在这里做的是一个点击,发送两个职位。这里是我的html单击触发2个帖子

<form id="input" method="post" action="http:\\example.com\try"> 
     <input type="text" name="info1" id="text1"/> 
     <input type="submit" id="submit"/> 
</form> 
<form id="input2" method="post" action="http:\\example.com\try"> 
     <input type="text" name="info2" id="text2"/> 
</form> 

和脚本

$("#submit").click(function() { 
    $("#text2").submit(); 
}); 

我以为是在我点击提交按钮,第一种形式,对于第二种形式的submittion也应该被触发,我应该在我的服务器端收到2个帖子,example.com/try。但事实证明,服务器只接收第二个帖子,即info2,并且根据chrome控制台,只有第二个帖子被触发。任何想法为什么?这是否可行,如果没有的话?顺便说一句,服务器和应用程序在不同的领域。

回答

1
$("#text2").submit(); 

在原始提交事件可以完成之前触发页面回发,并发布第一个表单。此外,我不认为在提交按钮上调用submit(),我认为在实际表单上调用它会更加标准:$("#input2").submit();

如果要发布这样的两种表单,您必须解决Ajax对两者的请求,并处理它们的回调。

+0

或ajax的第一个帖子,并在完成回调 – pepsi 2012-02-07 23:27:51

+0

调用第二个窗体的submit()。但据我所知,当我做AJAX post时,我会面对跨域问题。更何况,服务器和邮件的事情在两个不同的领域。谢谢 – 2012-02-07 23:28:56

+1

@ClintHui - 如果发布到另一个域的表单可以查看设置CORS来启用跨域ajax,或者您可能不得不重新从头开始思考此页并丢弃多个表单,或者只是重新考虑要求让他们一个接一个发布。我希望我对你有更好的答案:( – 2012-02-07 23:31:35