parseInt returns NaN
parseInt returns NaN
花了45分钟试图弄清楚它为什么返回NaN,请告诉我正确的方向。我的代码是:
<form name="calc">
<input type="text" value="0" name="first" onchange="add()">
<input type="text" value="0" name="second" onchange="add()">
<input type="text" name="result" onchange="add()">
</form>
<script type="text/javascript">
var a = parseInt(document.calc.first.value);
var b = parseInt(document.calc.second.value);
var c = a + b;
function add(){
document.calc.result.value = parseInt(c);
}
</script>
您正在寻找:
function add() {
var a = parseInt(document.calc.first.value, 10);
var b = parseInt(document.calc.second.value, 10);
var c = a + b;
document.calc.result.value = c;
}
每次更改a
和b
值时,都必须重新读取它们。
注意1:另外,请记住parseInt(val, radix)
中的radix
参数。在你的情况下是10
(我想是这样)。请参阅MDN关于为什么这很重要的文章。
注意2:不需要调用parseInt(c)
,因为c
的类型已经是number
了。
a
和b
在页面加载时计算一次,当表单仍然为空时,显然结果将是NaN
。
将所有逻辑放入add
函数中,以便检索表单的当前状态。
相关文章:
- JavaScript NaN equvialence
- 如何为排除无穷大和NaN的数字声明Flow类型
- 为什么我在这个javaScript代码中使用NaN
- 如何防止Math.max()返回NaN
- 函数将输出nan而不是数字,为什么
- jquery中出现NaN错误.已经尝试过ParseInt,但仍然不起作用
- 尝试求和时,在我的表的页脚中返回$NaN
- 我的jquery中出现NaN错误
- parseInt("08") returns 0
- 金额结果为NaN
- 使用running total时使用Javascript$NaN
- 使用jquery CounterUp提供NaN的百万值
- Javascript Timer returns NaN
- moment .toJSON returns "0NaN-NaN-NaNTNaN:NaN:NaN.NaNZ&q
- parseInt() returns NaN
- parseInt returns NaN
- Facebook FQL returns NaN value
- d3.scale.linear() returns NaN
- JavaScript Total Returns NaN
- jQuery UI $.datepicker.formatDate returns NaN NaN Nan