Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
只能从简单的Javascript表单返回NaN_Javascript - Fatal编程技术网

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

只能从简单的Javascript表单返回NaN,javascript,Javascript,我是JS的新手,所以请温柔一点。这个代码出了什么问题?我想我从几个字段中获取文本,将它们相加并显示结果 <html> <head> <script type="text/javascript"> function displaySum() { var number1 = parseInt(document.getElementById("number1").text); var number2 = parseInt(document.getElementBy

我是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>

函数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(数字1+数字2+数字3+数字4+数字5);
document.getElementById(“showsum”).innerHTML=sum;
}
第一个号码:

第四个数字:而不是
.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;

在jsFiddle上。

既然你说你是新来的,我就温和一点:你到底为什么要使用
eval
??另外,如果你的解析基数是10,那就不用担心parseInt了。将字符串乘以1会将其转换为以10为基数的整数,即使它以前导零开始。(除非它以
0x
开头,这使得它以十六进制形式解析。)当你得到一个“工作得很好”的答案时,请投票并接受它。@Jcubed-无需乘法。在它之前加上一个加号。尝试将其粘贴到控制台:
+“034”