sendPostAjax()
フォーム send_button がクリックされた後、関数を使用して確認投稿を送信し、フォームを支払いプロバイダーに送信しようとしました。しかしsendPostAjax()
、クリックが行われる前に、ページの読み込み時に関数が実行されます。
sendPostAjax()
関数をクリックキャッチ内に配置しようとしましたが、 sendPostAjax() 関数が未定義であるため、プロミスを割り当てることができません。
これを解決する方法はありますか?
HTMLフォーム
<form id="payment" method="post" action="https://my-payment-provider.com">
<input type="hidden" name="charset" value="utf-8">
// --- additional data here
<button type="submit" name="submit" id="send_button">PAY</button>
</form>
JavaScript コード
<script type = "text/javascript">
// Get click and call sendPostAjax function
document.getElementById('send_button').addEventListener('click', function () {
sendPostAjax();
return false;
});
function sendPostAjax() {
return $.ajax({
url: 'confirm.php',
type: 'POST',
data: {
cid: '9999999'
}
});
}
// function that expects a promise as an argument:
function sendForm(x) {
x.success(function () {
$('#payment').submit;
});
}
// get a promise from sendPostAjax:
var promise = sendPostAjax();
// give a promise to other function:
sendForm(promise);
</script>