1

現在 Google マップを使用しており、入力検証を使用しようとしています。現在地のズームとして設定するには、ユーザーが 0 から 20 までの数値を使用する必要があります。

以下は私が使用しているコードです。最初のifステートメントは 20 を超える任意の数値に対して完全に機能しますが、2 番目のステートメントは、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;
                           }
                       }
                   }
4

2 に答える 2

3

問題は、最初のチェック内に 2 番目のチェックをネストしたため、決して到達しないことです。これを試して:

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;
    }
}
于 2012-07-23T00:23:29.923 に答える
0
   function inputIsValid() {
   $value = document.getElementById("txtZoom").value;

   if (($value  < 0) && ($value  > 20)) {
   alert("Please enter a value between 0 and 20");
   return false;
   }
于 2012-07-23T00:23:01.220 に答える