Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法获取输入标记值_Javascript_Html_Dom_Paypal - Fatal编程技术网

Javascript 无法获取输入标记值

Javascript 无法获取输入标记值,javascript,html,dom,paypal,Javascript,Html,Dom,Paypal,我创建了一个变量来携带发送到结帐页面的金额值。似乎签出体验没有识别变量 <input type="number" id="challenge_stake" name="stake" required = "true" /> <button type="button" data-toggle="modal" data-target="#myModal2" onclick="myFunction();">Pay Now</button> ...

我创建了一个变量来携带发送到结帐页面的金额值。似乎签出体验没有识别变量

 <input type="number" id="challenge_stake" name="stake"  required = "true" />     
<button type="button"  data-toggle="modal" data-target="#myModal2" onclick="myFunction();">Pay Now</button> 
 ...  
         <div id="paypal-button-container">

         </div>

         <input name="forPaypal" type="number" value="0" id="forPaypal">           

<script>
    var x = parseFloat(document.getElementById('forPaypal').value);     
    paypal.Buttons({
        // Set up the transaction
        createOrder: function(data, actions) {
            return actions.order.create({
                purchase_units: [{
                    amount: {
                        value: x
                    }
                }]
            });
        }).render('#paypal-button-container');
</script>

<script> function myFunction() {
            var amount = 
parseFloat(document.getElementById('challenge_stake').value);         
document.getElementById('forPaypal').value = amount;
    }

</script>

根据您的代码,x的值将始终为0。将createOrder函数更改为以下内容:


createOrder: function(data, actions) {
   return actions.order.create({
       purchase_units: [{
           amount: {
               value: parseFloat(document.getElementById('forPaypal').value)
           }
       }]
   }
}


聪明的回答,戈帕尔!为什么它现在能工作?这是因为javascript的动态键入特性还是什么?是的,在您以前的代码中,x的值是在加载页面的位置计算的,但在新代码中,每次单击Paypal按钮时,x都会计算。我同意,并且我认为,但是调用了myFunction函数,我假设它会在加载时设置forPaypal输入标记的值。它会更改输入字段的值,而不是x的值,因此您使用了x。这就是为什么您使用完整表达式的原因。