【发布时间】:2014-07-01 18:21:55
【问题描述】:
我在这个计算器脚本中遇到了一个 NaN 错误: 有什么想法吗?
以下是文本格式的整个 html:
https://www.dropbox.com/s/i3u429bn5bjd4i9/orecalculator.txt
<script language="JavaScript">
var IDs = [22,17425,17426,1223,17428,17429,1225,17432,17433,1232,17436,17437,1229,17865,17866,21,17440,17441,1231,17444,17445,1226,17448,17449,20,17452,17453,11396,17869,17870,1227,17867,17868,18,17455,17456,1224,17459,17460,1228,17463,17464,19,17466,17467,1230,17470,17471];
function calculate(i){
while (i + 1 < IDs.length) {
var y=document.getElementById('reward');
var x=document.getElementById(IDs[i]);
y.value=parseInt(y.value)+parseInt(x.value);
i++;
}
}
</script>
【问题讨论】:
-
你的 HTML 是什么样的?这些元素中至少有一个没有可以解析的值。
-
y 或 x 可能有一个未定义的值,或者一个您不期望的值。
-
你如何以及在哪里打电话给
calculate?特别是:你通过了什么? -
calculate第一次运行,Reward有值吗?我可以看到您正在跟踪总数,但它不是从我看到的 0 开始,它有一个空值。 -
你得到它是因为大多数带有 ID-s 的
inputs 可能是空的。对空字符串调用parseInt()会返回NaN。
标签: javascript html calculator