JS - 在两个不同的数字之间查询MIN \ MAX值

时间:2012-02-21 16:31:44

标签: javascript html

我在Java Script中表现不佳,但我找不到解决问题的方法。

我的页面上有一个文本框,我有权在里面写一个0到199之间的数字。

如果我写200或>,那么我想得到警告(onblur)。

我找到了一个非常有趣且可能有用的代码。

但我不知道他是否有效,因为我不知道如何实施。

<script>
    var min = 0;
    var max = 199;
    var num = parseInt(myform.numfield.value);
    if (min > num || max < num) {
        alert(num + ' is not between ' + min + ' and ' + max);
        return false;
    }
</script>

我希望你能帮助我

这里有新代码

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
        <meta charset="utf-8"> 
        <title>Page</title> 
        <script type="text/javascript">
            function check(min, max) {
                var num = parseInt(document.getElementById('value_one').value);
                if (min > num || max < num)
                {
                    alert(num + ' ist nicht zwischen ' + min + ' und ' + max);
                }
            }
        </script> 
    </head> 
    <body> 
        <form> 
            Zahl: <input type='text' id='value_one' onBlur="check(0, 100)" > 
        </form> 
    </body> 
</html>

我还有另一个问题。是否有可能在同一个函数中添加一个查询,当我将一个大于99的数字写入同一个文本框中时,我们有MIN和MAX的查询,以获得一条消息警告“现在我们得到新值“但是,当我写200或更大时,仍然像以前一样得到消息。可能吗?非常感谢您的帮助。干杯

3 个答案:

答案 0 :(得分:3)

我会将此代码放入函数中,然后将其命名为onblur:

function check(min, max) {
    var num = parseInt(this.value);
    if (min > num || max < num) {
        alert(num + ' is not between ' + min + ' and ' + max);
    }
}

然后

<input type='text' onblur="check(0, 199)"

答案 1 :(得分:1)

将您在函数中找到的代码放入

  function minMax(){
      var min=0;
      var max = 199;
      var num = parseInt(myform.numfield.value);
      if (min > num || max < num) {
          alert(num + ' is not between ' + min + ' and ' + max);
          return false;
      }
  } 

然后在表单字段模糊时调用它

var formField = document.getElementById('elementID'); //or however you want to get it
formField.onblur = minMax();

那就行了。

答案 2 :(得分:0)

这里有一个完整的HTML :(只需保存并尝试)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Page)</title>

    <script type="text/javascript">
    function submitform()
    {
        var min=0;
        var max = 100;
        var num = parseInt(document.getElementById('value_one').value);
        console.log(num);
        if (min > num || max < num) {
            alert(num + ' is not between ' + min + ' and ' + max);
        return false;
        }
    }
    </script>
</head>
<body>

    <form id="myform" action="submit-form.php">
        Value: <input type='number' id='value_one' name='value_one'>
        <a href="javascript: submitform()">Submit</a>
    </form>

</body>
</html>

更新回应与您的评论相符:

这是我想的那一刻:使用经过验证的库,比如jQuery:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Page</title>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
       $("a").click(function(){
            var enteredValue = $("input:#value_one").val();
            var min=0;
            var max = 100;
            var num = parseInt(enteredValue);

            if (min > num || max < num) {
                alert(num + ' is not between ' + min + ' and ' + max);
                return false;
            }
       });

    //  or listen to your textfield blur event: /////////////////////
    //  $("input:#value_one").blur(function() {
    //      var enteredValue = $("input:#value_one").val();
    //      var min=0;
    //      var max = 100;
    //      var num = parseInt(enteredValue);

    //      if (min > num || max < num) {
    //          alert(num + ' is not between ' + min + ' and ' + max);
    //          return false;
    //      }   
    //  });
    });

    </script>
</head>
<body>

    <form id="myform" action="submit-form.php">
        Value: <input type='string' id='value_one' name='value_one'>
        <a href="#">Submit</a>
    </form>

</body>
</html>

在jQuery的帮助下,您可以绑定到blur()事件,或者如上所述绑定提交或超链接。祝你好运,玩得开心!