Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 条带签出-如何绑定提交事件?_Javascript_Jquery_Forms_Checkout_Stripe Payments - Fatal编程技术网

Javascript 条带签出-如何绑定提交事件?

Javascript 条带签出-如何绑定提交事件?,javascript,jquery,forms,checkout,stripe-payments,Javascript,Jquery,Forms,Checkout,Stripe Payments,我正在我的网页中使用JS库。 一旦令牌被提交到我的服务器,我就需要显示一条阻止消息“我正在处理你的请求” 我需要它,因为我的服务器端处理可能需要超过5秒,并且我不希望用户离开页面(或任何其他可能使签出过程无效的内容) 我曾尝试在条带表单上绑定提交事件以显示模式(例如!),但结果是Checkout.js正在解除任何提交事件的绑定,并且似乎无法检测实际的表单提交 这是我的密码: <form class="stripe-form" action="..." method="POST">

我正在我的网页中使用JS库。 一旦令牌被提交到我的服务器,我就需要显示一条阻止消息“我正在处理你的请求”

我需要它,因为我的服务器端处理可能需要超过5秒,并且我不希望用户离开页面(或任何其他可能使签出过程无效的内容)

我曾尝试在条带表单上绑定提交事件以显示模式(例如!),但结果是Checkout.js正在解除任何提交事件的绑定,并且似乎无法检测实际的表单提交

这是我的密码:

<form class="stripe-form" action="..." method="POST">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="..."
    data-email="..."
    data-label="Pay with Stripe"
    data-panel-label="Pay {{amount}}"
    data-amount="... " 
    data-currency="USD"
    data-name="..."
    data-description="..."
    data-image="...">
  </script>
</form>

<script type="text/javascript">
$(function(){

    stripeForm = $('.stripe-form');

    stripeForm.submit(function(e){
        console.log('going to submit'); //this is never called!
    });

});
</script>

$(函数(){
stripeForm=$('.stripe form');
stripeForm.submit(函数(e){
console.log('going to submit');//这永远不会被调用!
});
});
正如评论所说,提交事件从未被触发,我也没有找到任何方法来检测它。有什么想法吗

注意:我不包括更一般的,只有StripeCheckout可用


谢谢大家

我也有同样的问题。在我看来,checkout.js插入了一个iframe,因此我知道没有绑定到提交事件的方法

我想做的唯一一件事就是当你点击带条付费按钮时显示一条加载消息

$( ".stripe-button-el" ).click(function() {
    $( "#loadingMessage" ).show();
});
但是,如果用户退出条带支付模式,则需要隐藏#加载消息。

如果使用,则可以在提交表单之前使用以下内容创建覆盖

var form = document.querySelector('form');      
var handler = StripeCheckout.configure({
    key: 'STRIPE_PUBLIC_KEY',
    image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
    locale: 'auto',
    token: function(response) 
    {

        var overlay = document.createElement('div');
        overlay.className = 'my-overlay  my-overlay--visible';

        document.body.appendChild(overlay);

        form.submit();  
    }
});