0

支払いゲートウェイの今すぐ予約送信ボタンがあります。

ダイアログボックスは、確認せずにフォームを送信したままではありません。

フォームの送信を停止する方法。

コードは次のとおりです。

var submitForm = $('#paypal');
submit = false;

$("#confirm").dialog({
    resizable: false,
    height: 140,
    modal: true,
    autoOpen: false,
    buttons: {
        'Submit': function() {
            $(this).dialog('close');
            submit = true;
            submitForm.submit();
        },
        'Cancel': function() {
            $(this).dialog('close');
        }
    }
});
$("#confirm").parent().appendTo($("#paypal")); 

submitForm.submit(function() {
    if (submit) {
        return true;
    } else {
        $("#confirm").dialog('open');
        return false;
    }
});

HTML コードの非表示の値は削除されます。

<form id="paypal" name="paypal" method='post' action="https://www.sandbox.paypal.com/cgi-bin/webscr">
<input type="submit" class="book_nowinp" value="book_now" name="btnBook"/>
         </form>
4

1 に答える 1

0

フォームで送信ボタンを使用しないでください。代わりに通常のボタンを使用し、そのボタンをクリックすると確認ダイアログが開きます。

<input type="button" class="book_nowinp" onclick="$('#confirm').dialog('open')" value="book_now" name="btnBook"/>

ダイアログの送信ボタンのイベントでフォームの送信をトリガーするコードが既にあるので、フォームの送信onclick時にハンドラーを削除するだけです。

于 2013-07-18T13:09:29.713 に答える