2012-07-23 123 views
1

2号我目前使用的谷歌地图和尝试使用输入验证之间。我要求用户使用0到20之间的数字作为放大位置。验证输入是在JavaScript

下面是我使用的代码。第一if声明完全适用于任何数量超过20,但是当我使用数字如0和-1修复这个第二不起作用(例如)

有什么建议?

function inputIsValid() { 

         console.log("Inside inputIsValid function"); 

         //Check for Above 20 
         if (document.getElementById("txtZoom").value > 20) { 
          alert("Please insertAmount between 0 and 20"); 
          document.getElementById("txtZoom").focus(); 
          return false; 

          //Check for Number below 0 
          if (document.getElementById("txtZoom").value < 0) { 
           alert("Please insertAmount between 0 and 20"); 
           document.getElementById("txtZoom").focus(); 
           return false; 
          } 
         } 
        } 

回答

3

问题是你嵌套在第一第二次检查,所以它永远不会被达到。试试这个:

function inputIsValid() { 
    var zoomValue = document.getElementById("txtZoom").value; 

    if (zoomValue > 20 || zoomValue < 0) { 
     alert("Please insertAmount between 0 and 20"); 
     document.getElementById("txtZoom").focus(); 
     return false; 
    } 
} 
+0

Gahhhhh这样的菜鸟错误!猜猜有时候你只需要第二组眼睛。谢谢!并为这个愚蠢的错误感到抱歉!将接受答案的时候能够 – Andrew 2012-07-23 00:24:36

+0

没问题,它长编码会话后,特别是发生了。我也清理了一些代码,因为原来只是一个复制粘贴。 – theabraham 2012-07-23 00:26:44

+0

是的,看起来好多了! – Andrew 2012-07-23 00:27:36

0
function inputIsValid() { 
    $value = document.getElementById("txtZoom").value; 

    if (($value < 0) && ($value > 20)) { 
    alert("Please enter a value between 0 and 20"); 
    return false; 
    }