Javascript NaN号码不起作用

时间:2015-02-14 17:18:04

标签: javascript nan

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。有什么问题?

2 个答案:

答案 0 :(得分:3)

您正在将号码传递给“validNumber”函数。函数期望在传递给它的对象引用上有一个“value”属性,但是因为你传递了一个只有undefined的数字。

答案 1 :(得分:1)

' NUM'在您的validNumber函数中没有值属性,因此您需要更改

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,如果是,则不会达到。