【发布时间】:2021-03-02 01:34:24
【问题描述】:
我有一个表单,我想仅在完成条带付款后提交其数据。条带支付对应这个JS脚本:
// Get Stripe publishable key
fetch("/config")
.then((result) => { return result.json(); })
.then((data) => {
// Initialize Stripe.js
const stripe = Stripe(data.publicKey);
// new
// Event handler
document.querySelector("#submitBtn").addEventListener("click", () => {
// Get Checkout Session ID
fetch("/create-checkout-session")
.then((result) => { return result.json(); })
.then((data) => {
console.log(data);
// Redirect to Stripe Checkout
return stripe.redirectToCheckout({sessionId: data.sessionId})
})
.then((res) => {
console.log(res);
});
});
document.getElementById("form_post").submit();
});
到目前为止,我所做的是在 JS 脚本的末尾添加document.getElementById("form_post").submit();,如您所见,但它不起作用。使用此代码,可以进行条带付款,但我的表单未提交。
这是带有表单的 HTML 部分:
{% extends 'base.html' %}
{% block content %}
<script src="https://js.stripe.com/v3/"></script>
<script src="{{ url_for('static', filename='main.js') }}"></script>
<script defer src="https://use.fontawesome.com/releases/v5.14.0/js/all.js"></script>
<form id="form_post" method="post" enctype=multipart/form-data>
<label for="sername">Nom de l'entreprise</label>
<input name="username" id="username" value="{{ request.form['username'] }}" required>
</form>
<section class="section">
<div class="container">
<button class="button is-primary" id="submitBtn">Purchase!</button>
</div>
</section>
{% endblock %}
有关信息,我正在使用 python 的框架 Flask。
【问题讨论】:
标签: javascript html stripe-payments