2012-02-07 10 views
1

私がここでやろうとしているのは、2つの投稿を送信するワンクリックです。ここに私の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> 

、スクリプト、私は私がすべき、私が最初にフォームの送信ボタンをクリックした後、第二の形式のためsubmittionもトリガーされるべきだと思ったものを

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

です私のサーバー側で2つの投稿を受け取ったexample.com/tryしかし、サーバーはinfo2であり、クロームコンソールに応じて2番目の投稿のみを受信し、2番目の投稿のみがトリガーされたことが判明しました。どんな考え?そうでない場合、これは実現可能ですか?ちなみに、サーバーとAPPは異なるドメインにあります。

答えて

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

は、元の送信イベントが完了する前にページポストバックをトリガーし、最初のフォームを投稿します。また、送信ボタンでsubmit()を呼び出すのではなく、実際のフォームで呼び出すことがより標準的だと思います。$("#input2").submit();

このような2つのフォームを投稿する場合は、両方のためのajaxリクエストを起動し、コールバックを処理します。

+0

または完了コールバックで2番目のフォームのsubmit()を呼び出してください。 – pepsi

+0

しかし、私の知る限りでは、私はAJAX投稿を行うときにクロスドメインの問題に直面します。言い換えれば、サーバーとポストは2つの異なるドメインにあります。ありがとうございました –

+1

@ClintHui - フォームが別のドメインに投稿する場合は、CORSを設定してクロスドメインajaxを有効にするか、このページを最初から再検討し、複数のフォームを削除するか、それらを相次いで掲示する必要があります。 ( –