JS - 在函数内部确认

时间:2012-02-22 08:46:28

标签: javascript

我有一个运行良好的Javascript,因为昨天我在这里得到了一些非常好的解决方案。 我想知道我是否可以使用另一个查询扩展此Javascript。 现在的查询,当数字大于199时发出警告。它运作良好。

但是现在我想知道,如果我可以在同一个输入框中获得确认,当我写一个大于100的数字? 这是一个例子 我写了数字110,我确实得到一个带有信息的确认框(bla bla),当我点击是时,这个数字保留在输入框中。 但是当我写200或更大时,我确实得到了这个数字很大的警报。 这是代码,我昨天得到的,当数字大于199时:

    <!DOCTYPE html>
    <html lang="en">
        <head>
        <meta charset="utf-8">
        <title>Page</title>
    <script type="text/javascript">
    function minMax() {
       var min = 0;
       var mid = 99;
       var max = 199;
       var num = parseInt(document.getElementById('value_one').value);
       if (num > mid && num < max) {
           var r = confirm(num + ' n\'is greater than ' + mid+ '. Press Yes to retain it.');
           if (r == false) document.getElementById('value_one').value = "";
           return false;
       }
       if (min > num || max < num) {
           alert(num + ' n\'is not between ' + min + ' and ' + max);
           return false;
       }       
    </script>
        </head>
        <body>
        <form>
            Value: <input type='text' id="value_one"  onBlur="minMax();">
        </form>
    </body>
    </html>

是否有可能,如果有人有想法?

2 个答案:

答案 0 :(得分:1)

您可以使用confirm框代替alert。在w3school上查看演示。

试试这个

<script type="text/javascript">
   function minMax() {
       var min = 0;
       var mid = 100;
       var max = 199;
       var num = parseInt(document.getElementById('value_one').value);
       if (num > mid && num < max) {
           var r = confirm(num + ' n\'is greater than ' + mid+ '. Press Yes to retain it.');
           if (r == false) document.getElementById('value_one').value = "";
           return false;
       }
       if (min > num || max < num) {
           alert(num + ' n\'is not between ' + min + ' and ' + max);
           return false;
       }       
   } 
</script>

检查jsFiddle.net上的demo

希望这对你有用。

答案 1 :(得分:0)

根据您选择的选项(是或取消),您可以控制confirm个框。

您还可以在文本框越过最大值(document.getElementById('value_one').value=0

时使文本框保持干净