对象不是条带javascript上的函数

对象不是条带javascript上的函数,javascript,jquery,stripe-payments,Javascript,Jquery,Stripe Payments,好的,我按照stripes教程创建了一个自定义表单。对于javascript,我的代码如下所示。现在,我的信用卡字段是更大表单的一部分,而不仅仅是那些字段。它的ID是支付表单,正如您认为的那样,它将出现在下面的代码中 我的问题是,当代码运行时,在这一行之前一切都正常:$form.get(0.submit()我收到此错误的地方:未捕获类型错误:对象不是函数我尝试删除一些内容并使其成为:$form.submit,但这导致了无限循环 那么我需要做什么来解决这个问题呢?是什么导致了这个问题 我的代码:

好的,我按照stripes教程创建了一个自定义表单。对于javascript,我的代码如下所示。现在,我的信用卡字段是更大表单的一部分,而不仅仅是那些字段。它的ID是
支付表单
,正如您认为的那样,它将出现在下面的代码中

我的问题是,当代码运行时,在这一行之前一切都正常:
$form.get(0.submit()
我收到此错误的地方:
未捕获类型错误:对象不是函数
我尝试删除一些内容并使其成为:
$form.submit
,但这导致了无限循环

那么我需要做什么来解决这个问题呢?是什么导致了这个问题

我的代码:

<script type="text/javascript">
Stripe.setPublishableKey('<?php echo $key; ?>');
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('#submit').prop('disabled', false);
  } else {
    // token contains id, last4, and card type
    var token = response.id;
    // Insert the token into the form so it gets submitted to the server
    $form.append($('<input type="text" name="stripeToken" />').val(token));
    $form.find('[data-stripe]').val('');
    // and re-submit
    $form.get(0).submit();
  }
};
jQuery(function($) {
  $('#payment-form').submit(function(event) {
    var $form = $(this);

    // Disable the submit button to prevent repeated clicks
    $form.find('#submit').prop('disabled', true);

    Stripe.card.createToken($form, stripeResponseHandler);

    // Prevent the form from submitting with the default action
    return false;
  });
});
</script>

Stripe.setPublishableKey(“”);
var stripeResponseHandler=函数(状态、响应){
var$form=$(“#付款单”);
if(response.error){
//在表单上显示错误
$form.find('.payment errors').text(response.error.message);
$form.find(“#submit”).prop('disabled',false);
}否则{
//令牌包含id、last4和卡类型
var token=response.id;
//将令牌插入表单,以便将其提交到服务器
$form.append($('').val(标记));
$form.find(“[数据条带]”).val(“”);
//并重新提交
$form.get(0.submit();
}
};
jQuery(函数($){
$(“#付款单”)。提交(功能(事件){
var$form=$(此);
//禁用“提交”按钮以防止重复单击
$form.find(“#submit”).prop('disabled',true);
Stripe.card.createToken($form,stripeResponseHandler);
//阻止使用默认操作提交表单
返回false;
});
});

将提交按钮的id/名称更改为其他内容..aka
name=“btnSubmit”
将提交按钮的id/名称更改为其他内容..aka
name=“btnSubmit”
嗯。。。就这样。。。。但是为什么呢?因为您用名称
document.formName.elementName
document.formName.methodName
覆盖了submit方法。因此,当您有一个方法和元素名称具有相同的值时,浏览器应该做什么。。。就这样。。。。但是为什么呢?因为您用名称
document.formName.elementName
document.formName.methodName
覆盖了submit方法。因此,当方法和元素名称具有相同的值时,浏览器应该做什么?