无法解决 NaN 错误 (javascript)
Can't solve NaN error (javascript)
所以我制作了这个非常基本的表单,只有 4 个输入字段和一个带有值和 onclick 函数的提交按钮 "calculate"。
然后我开始为它编写一些 javascript 代码,如下所示:
function calculate(){
var insert1 = document.getElementById('insert1').value;
var insert2 = document.getElementById('insert2').value;
var insert3 = document.getElementById('insert3').value;
var isnert4 = document.getElementById('insert4').value;
var results = insert1 * insert2 * insert3 * insert4;
document.write(results);
}
所以我通过按下提交按钮来测试代码,它只显示 "NaN"。我注意到,当我将 document.write 的参数更改为其中一个插入时,我没有收到错误,它会显示插入的值。所以我认为问题出在 var 结果行,但我不是 100% 确定。
你得到 NaN
的原因是因为尝试将 任何东西 与 NaN
相乘会产生另一个 NaN
.
由于您的代码中有错字:
var isnert4 = document.getElementById('insert4').value;
^ --- here
但试图使用您想要的变量:
var results = insert1 * insert2 * insert3 * insert4;
here ------------^
意味着insert4
是NaN
因此整个计算的结果也是NaN
.
更正拼写错误,您的代码将按预期工作。
ps。 2017 年,停止使用 document.write
!
所以我制作了这个非常基本的表单,只有 4 个输入字段和一个带有值和 onclick 函数的提交按钮 "calculate"。
然后我开始为它编写一些 javascript 代码,如下所示:
function calculate(){
var insert1 = document.getElementById('insert1').value;
var insert2 = document.getElementById('insert2').value;
var insert3 = document.getElementById('insert3').value;
var isnert4 = document.getElementById('insert4').value;
var results = insert1 * insert2 * insert3 * insert4;
document.write(results);
}
所以我通过按下提交按钮来测试代码,它只显示 "NaN"。我注意到,当我将 document.write 的参数更改为其中一个插入时,我没有收到错误,它会显示插入的值。所以我认为问题出在 var 结果行,但我不是 100% 确定。
你得到 NaN
的原因是因为尝试将 任何东西 与 NaN
相乘会产生另一个 NaN
.
由于您的代码中有错字:
var isnert4 = document.getElementById('insert4').value;
^ --- here
但试图使用您想要的变量:
var results = insert1 * insert2 * insert3 * insert4;
here ------------^
意味着insert4
是NaN
因此整个计算的结果也是NaN
.
更正拼写错误,您的代码将按预期工作。
ps。 2017 年,停止使用 document.write
!