1

シングルクリックで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();
}

ペイパルフォームを送信して新しいウィンドウで開き(ターゲットが空白になっていることに注意してください)、予約フォームを現在のページに送信します。

私の問題は、最後の送信値のみが送信されていることです。どちらが最後であっても関係ありません。

これを処理し、ワンクリックで両方のフォームを送信するための最良の方法は何ですか?

4

0 に答える 0