基于复选框(true / false),使用输入的全局变量更新JS数组值

问题描述 投票:0回答:1

我正在使用WorldPay JS函数来创建付款表格。此函数创建可以重复使用或不能重复使用的令牌。我需要根据表单输入(复选框)更新“可重用”标志,但无法获取全局变量(重用)进行更新。我创建了一个CHECKED函数来更新变量,但是WorldPay JS只会忽略它。我认为这是由于window.onload状态引起的,但我不知道如何解决它。任何帮助将不胜感激。

 <?php
include('./header.php');
require_once('./init.php');
?>
<html>
    <head>
        <title></title>
        <meta charset="UTF-8" />
        <script src="https://cdn.worldpay.com/v1/worldpay.js"></script>    
        <script type='text/javascript'>
            var reuse = false;
            function Checked(){
                reuse = document.getElementById('check').checked;
                Worldpay.submitTemplateForm();
            }

            window.onload = function() {
                Worldpay.useTemplateForm({
                'clientKey':'ENTER CLIENT KEY',
                'form':'paymentForm',
                'paymentSection':'paymentSection',
                'display':'inline',
                'type':'card',
                'reusable': reuse,
                'saveButton':false,
                'callback':function(obj){
                    if (obj && obj.token && obj.paymentMethod) {
                    var _el = document.createElement('input');
                    _el.value = obj.token;
                    _el.type = 'hidden';
                    _el.name = 'token';
                    document.getElementById('paymentForm').appendChild(_el);
                    var _name = document.createElement('input');
                    _name.value = obj.paymentMethod.name;
                    _name.type = 'hidden';
                    _name.name = 'customer';
                    document.getElementById('paymentForm').appendChild(_name);
                    document.getElementById('paymentForm').submit();

                    }

                }
                });
                }
        </script>

    </head>
    <body>
        <form action="./test.php" id="paymentForm" method="post">
            <!-- all other fields you want to collect, e.g. name and shipping address -->
            <div id='paymentSection'></div>
            <div>
            <input type="checkbox" id='check'>
            <input type="submit" value="Place Order" onclick="Checked()" />
            </div>

        </form>
    </body>
</html>

注意:我已经删除了客户端ID,因此该代码将无法运行。

javascript php forms global-variables
1个回答
0
投票

您是否曾尝试在window.onload上使用“已选中”功能:

  window.onload = function() {
            Worldpay.useTemplateForm({
           //code....
          )}
 function Checked(){
    //code....
         }
© www.soinside.com 2019 - 2024. All rights reserved.