【问题标题】:Javascript NaN number not functionJavascript NaN 数字不起作用
【发布时间】:2015-02-14 17:18:03
【问题描述】:
function validNumber(num) {
 field=num.value;
 if(isNaN(field)) {
  alert("The number entered is not a valid number");
  return false;
 } else return true;
}

blur1 = document.getElementById("num1");
blur1.addEventListener("blur",getNumber1,false);
function getNumber1() {
    myNumbers[0] = parseInt(document.getElementById("num1").value);
    validNumber(myNumbers[0]);
}

当我取消选择文本框“num1”时,它会提醒The number entered is not a valid number,尽管我输入了一个数字。有什么问题?

【问题讨论】:

    标签: javascript nan


    【解决方案1】:

    您正在向“validNumber”函数传递一个数字。该函数期望在传递给它的对象引用上有一个“值”属性,但由于您传递给它的数字只是undefined

    【讨论】:

    • 明白了,非常感谢!!
    【解决方案2】:

    validNumber 函数中的'num' 没有 value 属性,所以你需要更改

    field=num.value;
    

    field = num;
    

    或者更好,把函数改为

    function validNumber(num) 
    {
       if(isNaN(num)) 
       {
          alert("The number entered is not a valid number");
          return false;
       }
    
       return true;
    }
    

    另外,您不需要 else 子句,因为您已经 return false 如果它是 NaN 并且如果是则返回 true 将不会到达。

    【讨论】:

    • 已修复,非常感谢 =)
    猜你喜欢
    • 2019-03-17
    • 2017-10-25
    • 2022-06-12
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2013-10-14
    • 2012-03-28
    相关资源
    最近更新 更多