我正在使用Stripe进行信用卡处理。 Stripe代码是一个在HTML代码中内嵌的表单/脚本(见下文)。我首先在我页面的head部分的脚本中将Stripe变量初始化为null。我正在尝试在页面加载后更改这些变量,但我似乎无法做到这一点。在pageinit上,我运行一个设置参数的脚本。显然,变量是在页面加载上设置的,我可以使用一些帮助来确定如何更新发送到Stripe的值。
<form id="formPayNow" onsubmit="return stripePayNow()">
<button id="customButton">Pay</button>
<script>
var handler = StripeCheckout.configure({
key: 'pk_test_Dz',
image: "https://stripe.com/img/documentation/checkout/marketplace.png" ,
token: function(token, args) {
// Use the token to create the charge with a server-side script.
cardToken = token.id;
stripePayNow();
}
});
document.getElementById('customButton').addEventListener('click', function(e) {
// Open Checkout with further options
handler.open({
name: 'STRIPE Secure Checkout',
description: itemDesc,
amount: itemGross,
email: userEmail
});
e.preventDefault();
});
</script>
</form>
编辑:这是我试过的......
1.如果我将Stripe变量的初始化移动到页面加载后($(document).on('pageinit','#showMyInfo',function(){
然后Firebug显示“变量未定义”。
2.如果我在页面的head部分将其设置为“null”,然后稍后尝试在pageinit上操作它,那么我就不能。当我稍后调用Stripe表单时,它保持为“null”。
- 成为这样一个新手的applogies!
而且,如果我试着举例.....
document.getElementById("itemDesc").innerHTML = "zzzzzzz";
我得到一个TypeError为null。
答案 0 :(得分:0)
尝试处理您的vars内联此代码:
$(document).ready(function(){
//your vars changes
});
这是在加载DOM之后操作DOM的最佳方法。