1

2つのフォームと1つのボタンがあります。Firefoxではすべてが正常に機能します。Paypalで支払いが行われた新しいウィンドウが表示され、すべてが発生したウィンドウで、ユーザーに電子メールを送信するsend_mailフォームが送信されます。Chromeでこれを機能させるにはどうすればよいですか?なぜ機能しないのですか?私は何でも試しました(またはそう思います)!

それで:

<form name="registerForm" id="registerForm" target="_blank" action="paypal_url" method="post" onsubmit="$('#send_mail').submit();">
...
</form>

<form name="send_mail" id="send_mail" action="" method="post">
...
</form>

<a onclick="$('#registerForm').submit()">Go to paypal and send confirmation mail</a>
4

3 に答える 3

4

javascriptのみの送信を使用する本当に正当な理由がない限り、javascriptエラーが発生した場合にフォームを使用できないように設定するのはなぜですか?

送信タイプの標準フォーム入力を使用し、IDを指定し、必要に応じてjavascriptを介して送信の外観またはテキストを変更し、その機能の上にレイヤーとしてonclickおよびonsubmitイベントを作成し、falseを返します。より良いフォールバック。

なぜ一度に2つのフォームを送信しようとしているのかわかりませんが、この代替案についてはどうでしょうか(このコードはテストしていませんが、アイデアを伝える必要があります)。

<script type='text/javascript'>
$('#fallback-register-submit').hide(); // Hide the submit button.
$('#registration-link').show().click(function (){ // Show the link and attach the action.
    $('#registerForm').submit();
    return false; // Don't bother following the link anchor.
});
</script>

<form name="registerForm" id="registerForm" target="_blank" action="paypal_url" method="post""><!-- Single form that does all of the submitting. -->
...
...
<input type='submit' id='fallback-register-submit'>Register</input><!-- In the event of a javascript error for their browser, they can still buy your stuff! -->
<a id='registration-submit' style='display:none'>Go to paypal and send confirmation mail</a>
</form>
于 2011-02-23T16:22:25.087 に答える
2

両方の送信をあなたのにバインドしないのはなぜですか?

onclick="$('#send_mail').submit(); $('#registerForm').submit();"

最初のフォームの後に他のフォームを送信する場合:

onclick="$('#send_mail').submit( function() {$('#registerForm').submit();}); "

ここでjqueryを使用していると仮定します

于 2011-02-23T16:14:46.880 に答える
1

私の知る限り、リンクを使用してフォームを送信しますか?

では、「プレーンな」JavaScriptを使用してみませんか?jQueryなし:document.getElementById(....).submit()

または、通常のjQueryの方法で送信イベントをリンクにリンクします。

$(document).ready(function() {
 $(".yourLinkClass").click(function() { // or "#yourLinkId" for that matter
  $("#registerForm").submit();
 });
});

また、送信ボタンを使用することもできます;)

于 2011-02-23T16:20:41.847 に答える