花了 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
(正如我所想的)。请参阅this MDN article为什么这很重要。
注释2:不需要调用parseInt(c)
,因为c
已经是number
类型>.
关于javascript - parseInt 返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18552078/