首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >parseInt返回NaN

parseInt返回NaN
EN

Stack Overflow用户
提问于 2013-08-31 19:39:17
回答 2查看 4.2K关注 0票数 0

花了45分钟来计算它为什么返回NaN,请给我指出正确的方向。我的代码是:

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-31 19:42:16

你要找的是:

代码语言:javascript
复制
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。关于为什么这很重要,请参见这篇MDN文章

Note 2:不需要调用parseInt(c),因为c已经是number类型了。

票数 3
EN

Stack Overflow用户

发布于 2013-08-31 19:42:07

ab在页面加载时计算一次,当表单仍然为空时,结果显然是NaN

将所有逻辑放入add函数中,以便检索表单的当前状态。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18552078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档