シングルクリックで2つのフォームを送信しようとしています。ユーザーがペイパルで支払うことができるように、新しいウィンドウを開こうとしています。
仕組みは次のとおりです。
予約のフォームがあります。
ユーザーがペイパルラジオボタンで支払うことを選択し、フォームが送信されると、新しいペイパルチェックアウトフォームが元のフォームの外側のページに追加されます。そのようです:
if ($paypal_radio.eq(1).attr('checked')) {
//make paypal buttons
$('#content').append('<div id="paypal_form_container">');
var $paypal_form = $('#paypal_form_container');
//make the form template
var paypal_form_template ='\
<form action="https://www.paypal.com/cgi-bin/webscr" target="_blank" method="post" id="paypal_form"> \
<input type="hidden" name="cmd" value="_xclick"> \
<input type="hidden" name="business" value="email@email.com"> \
<input type="hidden" name="lc" value="US"> \
<input type="hidden" name="item_name" value="whatever"> \
<input type="hidden" name="currency_code" value="USD"> \
<input type="hidden" name="lc" value="US"> \
<input type="hidden" name="rm" value="1"> \
<input type="hidden" name="Cleaning Service" value="whatever"> \
<input type="hidden" name="amount" value="'+totalValue+'"> \
</form> \
';
//add the form to the page
$paypal_form.html(paypal_form_template);
//submit both forms
$('#paypal_form').submit();
$(this).parents("form").submit();
}
ペイパルフォームを送信して新しいウィンドウで開き(ターゲットが空白になっていることに注意してください)、予約フォームを現在のページに送信します。
私の問題は、最後の送信値のみが送信されていることです。どちらが最後であっても関係ありません。
これを処理し、ワンクリックで両方のフォームを送信するための最良の方法は何ですか?