当使用 JQuery/AJAX/JS 提交 form_for() 表单时,提交按钮无法重新启用,即使我编写了将 prop 切换为禁用 false 的代码。
我在控制台中成功激活了相同的JS行代码,但是当条带验证正常失败时它不起作用。
var StripepayOnestepSubscriptionForm = {
initialize: function () {
$(document).off('submit.stripepay-onestep-subscription-form').on(
'submit.stripepay-onestep-subscription-form', '.stripepay-onestep-subscription-form',
function () {
return StripepayOnestepSubscriptionForm.handleSubmit($(this));
}
);
},
handleSubmit: function (form) {
if (!StripepayOnestepSubscriptionForm.validateForm(form)) {
return false;
}
$(form).find('div :submit')
.prop('disabled', true).change();
$('.stripepay-spinner').css('visibility', 'visible');
Stripe.card.createToken(form, function (status, response) {
StripepayOnestepSubscriptionForm.stripeResponseHandler(form, status, response);
});
return false;
},
validateForm: function (form) {
var cardNumber = $("input[data-stripe='number']").val();
if (!Stripe.card.validateCardNumber(cardNumber)) {
StripepayOnestepSubscriptionForm.showError(form, 'The card number is not a valid credit card number.');
return …Run Code Online (Sandbox Code Playgroud)