javascript - 我如何在 stripe / checkout.js 上集成输入(而不是按钮)?
问题描述
我在一个简单的结帐表单上的遗留代码中间,它与我试图与 Stripe 集成的结帐工作正常;这是有效的遗留代码:
<form method="post" name="submit_order" action="40_SubmitOrder.asp" class="text-center">
<script>
$(document).ready(function() {
$('input#SubmitOrder').click(function() {
$(this).val('please wait...');
});
});
</script>
<input class="btn btn-default default-btn" type="submit" name="SubmitOrder" id="SubmitOrder" value="buy stuff">
..我尝试使用 Stripe 的 checkout.js 对此进行变体作为按钮,但它不起作用:
<form method="post" name="submit_order" action="40_SubmitOrder.asp" class="text-center">
<script>
$(document).ready(function() {
$('input#SubmitOrder').click(function() {
$(this).val('please wait...');
});
});
</script>
<button class="btn btn-default default-btn" type="submit" name="SubmitOrder" id="SubmitOrder">buy stuff</button>
.. Stripe 弹出窗口看起来不错,但表单未提交。我已经尝试过 form.submit() 的变体,但没有运气。而且我也在尝试在不使用 jquery 的情况下执行此操作(出于遗留原因)。
这是我目前在此表单下方使用的 Stripe JS:
<script src="https://checkout.stripe.com/checkout.js"></script>
<script>
var handler = StripeCheckout.configure({
key: 'pk_test_mytestkey',
image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
locale: 'auto',
token: function(token) {
// nothing here yet
}
});
document.getElementById('SubmitOrder').addEventListener('click', function(e) {
// Open Checkout with further options:
handler.open({
name: 'legacy checkout site',
description: '2 widgets',
amount: 2000
});
e.preventDefault();
});
// Close Checkout on page navigation:
window.addEventListener('popstate', function() {
handler.close();
});
</script>
有没有办法做到这一点,而不必对 Stripe API 进行更深入的研究?谢谢!
解决方案
推荐阅读
- javascript - 添加到数组 - 没有重复字段值的子文档
- android - 使用 socket.io 的 Android 点对点视频传输
- python-3.x - 给定自定义输入的树形成问题
- mongodb - 无法通过 mongoDB 中的动态键访问对象值
- javascript - 有没有一种编程语言支持解析定制的 DSL?
- json - 在odoo中制作一个控制器来处理json
- javascript - 3d transform: DOM order taking priority over z-transform
- javascript - 如何从 div 调用函数并呈现返回的 json 对象?
- mapbox - 覆盖水面但低于地表的数据:Mapbox-gl.js
- python - 根据序列填充缺失值并根据上一行或下一行填充第二行