簡體   English   中英

無法弄清楚代碼的 javascript 部分有什么問題

[英]Can't figure out whats wrong in the javascript portion of code

document.getElementById('go').onclick = function() {

    var data = document.getElementById('number1').value;

    data = parseFloat(number1);

    var data = document.getElementById('number2').value;

    data = parseFloat(number2);

    var total = number1 + number2;

    document.getElementById('result').value = total;
};

您將 parseFloat 之后的值存儲到錯誤的變量中。 您基本上只是覆蓋了相同的變量data ,而且您沒有初始化變量number1number2

應該是這樣的:

document.getElementById('go').onclick = function() {

    var number1 = document.getElementById('number1').value;

    number1 = parseFloat(number1);

    var number2 = document.getElementById('number2').value;

    number2 = parseFloat(number2);

    var total = number1 + number2;

    document.getElementById('result').value = total;
};
  1. 您正在使用尚未定義的變量( number1 && number2 )。
  2. 這不是parseFloat工作方式。 parseFloat接受一個參數(一個字符串)並返回一個浮點數(如果有)。

嘗試這個:

document.getElementById('go').onclick = function() {
    var data = document.getElementById('number1').value;

    var number1 = parseFloat(data); // parse the data and store the result in number1

    data = document.getElementById('number2').value; // no need to redeclare data

    var number2 = parseFloat(data); // parse the data and store the result in number2

    var total = number1 + number2;

    document.getElementById('result').value = total;
};

您正在對文檔的輸入元素執行“parseFloat”函數,其 id 為“number1”和“number2”,而不是您輸入的實際值。 您不能有效地將文檔的輸入文本框轉換為浮點數。 此外,您兩次使用變量“data”,但您想存儲輸入到 number1 框中的任何值,並將其添加到輸入到 number2 框中的任何值,然后將它們相加,因此您需要兩個變量。 然后 oyu 可以將這兩個相加並將其分配給“total”變量。

我假設您的 HTML 與此類似:

 <input id="number1" type="text" /> <br><input id="number2" type="text" /> <br><input id="go" type="button" value="Add Up" /> <br><input id="result" type="text" />

 document.getElementById('go').onclick = function () { var number1Value = document.getElementById('number1').value; number1Value = parseFloat(number1Value); var number2Value = document.getElementById('number2').value; number2Value = parseFloat(number2Value); var total = number1Value + number2Value; document.getElementById('result').value = total; };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM