我正在使用Stripe文档located here中的代码示例。但是,当处理$form.get(0).submit();
时,我收到此错误。
Uncaught TypeError: Property 'submit' of object #<HTMLFormElement>
is not a function
我的代码如下:
var stripeResponseHandler = function(status, response) {
var $form = $('#payment-form');
if (response.error) {
// Show the errors on the form
$form.find('.payment-errors').text(response.error.message);
$form.find('button').prop('disabled', false);
} else {
// token contains id, last4, and card type
var token = response.id;
console.log(token);
// Insert the token into the form so it gets submitted to the server
$form.append($('<input type="hidden" name="stripeToken" />').val(token));
// and re-submit
$form.get(0).submit(); **//Error happens here**
}
};
jQuery(function($) {
$('#payment-form').submit(function(e) {
var $form = $(this);
// Disable the submit button to prevent repeated clicks
$form.find('#payment-button').prop('disabled', true);
Stripe.createToken($form, stripeResponseHandler);
// Prevent the form from submitting with the default action
return false;
});
});
我做错了什么?
答案 0 :(得分:0)
在你收到错误的行上,请尝试这样做:
jQuery($form.get(0)).submit();
你的问题是你获得了第一个HTML元素,但为了在其上调用“submit”,你需要用jQuery包装它。