フォームを送信する前にトークンを取得するために、APIとやりとりする必要があるStripeで支払いフォームを作成しました。 Chromeですべてのテストと作業が行われていましたが、昨日、ユーザーはSafariで作業していないと言っていました。jquery on Safari Safariで呼び出されていない
私は、次のコードが実行される前に、フォームを送信サファリに原因を絞り込むことができました:
$('#payment-form').on('beforeSubmit', function(event) {
if (isCcNeeded()) {
// Disable the submit button to prevent repeated clicks:
$('#payment-form').find('.submit').prop('disabled', true);
// Request a token from Stripe:
Stripe.card.createToken({
number: $('input#stripe-card-number').val(),
cvc: $('input#stripe-cvc').val(),
exp_month: getExpMonth(),
exp_year: getExpYear(),
address_zip: $('input#stripe-address-zip').val()
}, stripeResponseHandler);
// Prevent the form from being submitted:
return false;
}
});
それはこれをスキップしている理由、誰もが知っていますか?
あなたは前に変更することができます提出とテストと提出? – gaetanoM
なぜあなたは前に電話していますか? submitTokenの呼び出しが成功した場合は、submiteを使用してstripeResponseHandlerにフォームを投稿してください。 –
@gaetanoM、私は $( '#payment-form')を置き換えて試しました。( 'beforeSubmit'、function(event $付き) ( '#支払いフォーム')。提出(関数(イベント) とも $( '#支払いフォーム')。(、関数(イベント) 両方が同じを持って '提出' に関する結果は – Fittersman