亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

由于事件偵聽器,我的變量不是全局變量。我需要它們是全球性的

由于事件偵聽器,我的變量不是全局變量。我需要它們是全球性的

皈依舞 2023-01-06 09:42:41
我想為我的 Paypal Smart Button 做一個小計算。用戶將在兩個輸入字段中填寫金額,然后計算總金額,然后將此總金額用作通過我的 Paypal Smart Button 進行購買的金額。我有這段代碼,這是我的基本草稿:var payamount1 = document.getElementById("amount1").value;var payamount2 = document.getElementById("amount2").value;var paytotal = +payamount1) + +payamount2);document.getElementById("payment-due").textContent = paytotal;但我必須添加一個事件監聽器,以便我始終可以從輸入字段中獲取更新的值。添加事件監聽器后,我的代碼現在如下所示:document.getElementById('amount1').addEventListener('change', calc);document.getElementById('amount2').addEventListener('change', calc);function calc() {  var payamount1 = document.getElementById("amount1").value;  var payamount2 = document.getElementById("amount2").value;  var paytotal = +payamount1 + +payamount2;  document.getElementById("payment-due").textContent = paytotal;}問題是現在我所有的變量都不再是全局變量了?,F在我不能在我的貝寶按鈕代碼中使用它們。我的 javascript 知識有限。我該如何解決這個問題?我希望能夠在以下代碼中使用我的變量。例如,查看我在下面的 paypal 按鈕代碼中使用“paytotal”變量的位置:(但由于事件監聽器,我的變量不再是全局的)paypal.Buttons({    createOrder: function(data, actions) {      // This function sets up the details of the transaction, including the amount and line item details.      return actions.order.create({        purchase_units: [{          amount: {            value: paytotal          }        }]      });    }  }).render('#paypal-button-container');
查看完整描述

1 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

現在我明白你的意思了,我再次為你更改了代碼:只是刪除了 calc-function 中的 var-declaration 并將變量聲明為 global with initiliasations 為 0。


var amount1 = document.getElementById("amount1");

var amount2 = document.getElementById("amount2");

var payamount1 = 0, payamount2 = 0, paytotal=0;

amount1.addEventListener('change', calc);

amount2.addEventListener('change', calc);


function calc() {

    payamount1 = amount1.value;

    payamount2 = amount2.value;

    paytotal = Number(payamount1) + Number(payamount2);

    

    document.getElementById("payment-due").innerHTML = paytotal;

}

<input type="text" id="amount1" placeholder="enter amount 1">

<input type="text" id="amount2" placeholder="enter amount 2">

<div class="details-row">Total payable: <span id="payment-due"></span></div>


查看完整回答
反對 回復 2023-01-06
  • 1 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號