只能让NaN从简单的Javascript表单返回

Gee*_*der 2 javascript

我是JS的新手,所以请保持温柔.这段代码出了什么问题?我想我从几个字段中获取文本,将它们添加到一起并显示结果.

<html>
<head>

<script type="text/javascript">
function displaySum()
{
var number1 = parseInt(document.getElementById("number1").text);
var number2 = parseInt(document.getElementById("number2").text);
var number3 = parseInt(document.getElementById("number3").text);
var number4 = parseInt(document.getElementById("number4").text);
var number5 = parseInt(document.getElementById("number5").text);
var sum = eval(number1 + number2 + number3 + number4 + number5);

document.getElementById("showsum").innerHTML=sum;

}
</script>
</head>
<body>
<form>
First Number: <input type="text' name="number1" id="number1" /><br />
<p id="numberOne"></p>
Second Number: <input type="text' name="number2" id="number2" /><br />
Third Number: <input type="text' name="number3" id="number3" /><br />
Fourth Number: <input type="text' name="number4" id="number4" /><br />
Fifth Number: <input type="text' name="number5" id="number5" /><br />
<button type="button" onclick="displaySum()">Display Sum</button>
<p id="showsum"></p>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Mic*_*ski 5

而不是.text财产,你想要的.value.另外,使用第二个基数参数来parseInt()防止意外错误地解析带有前导零的八进制数.

var number1 = parseInt(document.getElementById("number1").value, 10);
var number2 = parseInt(document.getElementById("number2").value, 10);
// etc..

// Don't eval(), just add them.
var sum = number1 + number2 + number3 + number4 + number5;
Run Code Online (Sandbox Code Playgroud)

这是 jsFiddle 的完整解决方案.