2017-02-12 28 views
-4
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; 
}; 
+5

有什麼問題嗎? –

+0

請閱讀[問]和[mcve]。 –

回答

0

您將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; 
}; 
+0

在對象「結果」中找不到任何值。當我將它改爲你所做的事情之後,當它對它進行評級時,它就是這樣說的。 –

+0

@韋斯利哈里斯工作正常。看看我的小提琴:https://jsfiddle.net/x9h2t43q/ –

+0

@WesleyHarris也請發表您的HTML代碼 –

0
  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; 
}; 
0

你是做文檔的輸入元素ID分別爲「數字1」和而不是您鍵入到他們的實際值「數字2」上的「parseFloat」功能。您無法將文檔的輸入文本框轉換爲浮點型。同樣,你使用變量「data」兩次,但是你想要將任何輸入的值存儲到number1框中,並將其添加到number2框中鍵入的任何值,並將它們相加,因此需要兩個變量。然後oyu可以添加這兩個並分配給「總」變量。

我假設你的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; 
 
    };