我正在使用Visa Checkout并测试预填充功能。当您输入新电子邮件时,此功能将起作用,它将根据您在商人的结帐页面中输入的数据提示您进入带有预先填写表格的Visa Checkout灯箱。
目前,我正在对电子邮件进行硬编码,但我希望它根据文本框中输入的内容是动态的。但是我在如何将输入字段传递给Visa Checkout的javascript函数方面遇到困难。
这是我输入的电子邮件字段:
<div class="form-group">
<label for="bill_to_email">Email<font color="red">*</font></label><br>
<input type="text" class="form-control required prefill" id="email"
name="bill_to_email">
</div>
这就是您所谓的Visa Checkout的方式,预填充功能上的值是硬编码的,每当我对其进行更改时,它都不会出现或不可点击Visa Checkout按钮。
<script type="text/javascript">
function onVisaCheckoutReady(){
V.init( {
apikey: "",
enableUserDataPrefill: true,
settings: {
locale: "en_SG"
},
paymentRequest:{
currencyCode: "SGD",
total: "10.00"
}
});
V.on("payment.success", function(payment){
document.write(JSON.stringify(payment));
});
V.on("payment.cancel", function(payment){
document.write(JSON.stringify(payment));
});
V.on("payment.error", function(payment, error){
alert(JSON.stringify(error));
});
V.on('pre-payment.user-data-prefill',function(){
return {
"userFirstName": "John",
"userLastName": "Doe",
"userEmail": "null@gmail.com",
"userPhone": "25446673"
}
});
}
我已经尝试过以下操作:
var userEmail = document.getElementById('email').value;
var userEmail = document.getElementsByName("bill_to_email").value;
然后更新Visa Checkout按钮以支持onclick,尽管我认为这不起作用,因为Visa Checkout的v按钮参数不支持onlick?
<img alt="Visa Checkout" class="v-button" role="button"
src="https://sandbox.secure.checkout.visa.com/wallet-services-
web/xo/button.png?" onclick="onVisaCheckoutReady()"/>
也尝试了输入按钮,但Visa Checkout按钮消失了。
<input alt="Visa Checkout" class="v-button" type="submit" role="button"
src="https://sandbox.secure.checkout.visa.com/wallet-services-
web/xo/button.png?" onclick="onVisaCheckoutReady()" />
请记住我的表格和Visa Checkout javascript都在一页中。知道如何在javascript功能中传递输入字段吗?
提前谢谢!