2017-02-12 36 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; 
 
    };