javascript - parseInt 返回 NaN

标签 javascript parseint

花了 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;
}

每次更改 ab 值时,您都必须重新读取它们。

注释 1:另外,请记住 parseInt(val, radix) 中的 radix 参数。在你的情况下是 10 (正如我所想的)。请参阅this MDN article为什么这很重要。

注释2:不需要调用parseInt(c),因为c已经是number类型>.

关于javascript - parseInt 返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18552078/

相关文章:

javascript - Javascript 数字如何存储在内存中

javascript - 使用 node.js 将 JSON 上传到 s3 的问题

python - 在空格之间查找字符串中的数字并解析它

java - 如何修改此代码以处理包含字符和整数的输入文本?

javascript - ECharts中自定义字段名称

javascript - × 类型错误 : Cannot set property 'props' of undefined

android - 不能对图像使用 parseInt - Android

javascript - 何时使用 parseInt

java - 读取 StringBuffer 的数字输出时 ParseInt 引发异常

javascript - 如何将24小时格式的日期时间转换为12小时格式