我正在使用 HTML 5 必需的属性进行表单验证。现在我想要的是,如果表单已通过 HTML 5 验证,它应该将用户带到条带结账(我特意在下面的代码中为 SO 问题添加了 xxx 信息)。
现在,如果表单未通过验证,则不会处理提交,这很好。但是,在我完成表单并提交表单后,它不会将我带到条纹结帐页面,它只是刷新页面。我究竟做错了什么?
<form id="tcform">
<p><b>Quantity:</b> 1</p>
<b class="price">Price:</b> <s>£xx</s> <span style="color: red;">£xx</span>
<button class="btn btn-default buynow" id="checkout-button-sku_xxx" role="link">
Buy Now
</button>
<p>
<i style="font-size:small">Limited time offer</i>
</p>
<p class="tcparagraph">
<input id="field_terms" type="checkbox" required name="terms"> I accept the <u><a href="Terms" id="tclink">Terms and Conditions</a></u></p>
<div id="error-message"></div>
</form>
<script>
(function() {
var stripe = Stripe('pk_test_xxx');
var checkoutButton = document.getElementById('checkout-button-sku_xxx');
checkoutButton.addEventListener('click', function() {
// When the customer clicks on the button, redirect
// them to Checkout.
const isFormValid = checkoutButton.form.checkValidity();
if(isFormValid==true) {
stripe.redirectToCheckout({
items: [{
sku: 'sku_xxx',
quantity: 1
}],
// Do not rely on the redirect to the successUrl for fulfilling
// purchases, customers may not always reach the success_url after
// a successful payment.
// Instead use one of the strategies described in
// https://stripe.com/docs/payments/checkout/fulfillment
successUrl: window.location.protocol + '//metis-online.com/courses/course-BRFAITC009-order-confirmation',
cancelUrl: window.location.protocol + '//metis-online.com/order-cancelled',
})
萧十郎
回首忆惘然
富国沪深
交互式爱情
相关分类