我在我的網頁中使用了Stripe checkout 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>
正如評論說,提交事件永遠不會觸發,我還沒有找到任何解決方法,以檢測它。有任何想法嗎?
注:我不包括更一般的Stripe library,只有StripeCheckout可用。
謝謝大家
條紋工作方式不同:當它們的令牌創建回調(ajax)完成後,它們觸發表單提交(到我的服務器)。問題在於,我無法聽取任何特定事件,以便在表單提交之前執行某些操作(因爲它們解除了我的事件!)。 – alexcasalboni
@alexcasalboni啊好的。那麼插入一個動畫GIF呢?條紋是否提供有關事件處理的任何文檔? – sourRaspberri
的確,這就是我指出的問題。我沒有設法用StripeCheckout庫監聽任何事件,我不能簡單地綁定一個自定義提交事件(我甚至試圖用任意超時重新綁定它)。 – alexcasalboni