【问题标题】:input text only accepts number from 1- 10 [duplicate]输入文本仅接受 1-10 的数字 [重复]
【发布时间】:2013-12-15 04:30:36
【问题描述】:

我有一个输入文本,我想将值设置为仅从 1 到 10 的数字,仅当用户键入的值大于文本框时会将其更改为 10,或者当小于 0 时文本将更改为0.并且文本框也不会接受除数字之外的其他值我为此使用了下面的代码,但它不工作它甚至接受字母,无论我输入什么值它都接受我在这个输入中缺少的值文本。是不是只需要js来解决这种问题?

<input type="number" min="0" max="10"/>

【问题讨论】:

  • 您好,请始终记得先使用 Google。 input text only accepts number html 将提供大量关于同一问题的其他 Stack Overflow 问题
  • 对不起,我把它关闭了 它没有显示
  • @Pekka웃 我确实尝试了所有方法,但对我没有用,感谢减号
  • 上面的链接有一个使用 HTML 5 和“模式”属性的答案
  • @Pekka웃 并非所有手机浏览器都接受pattern属性quirksmode.org/html5/inputs_mobile.html#t12

标签: jquery html jquery-ui jquery-mobile


【解决方案1】:

使用min=1max=10 仅在用户使用箭头输入时有效,而不是在他/她在输入框中书写时有效。所以你可以将此脚本与min and max结合使用

<input type="number" value="1" min="1" max="10">

脚本

var t = false

$('input').focus(function () {
var $this = $(this)

t = setInterval(

function () {
    if (($this.val() < 1 || $this.val() > 10) && $this.val().length != 0) {
        if ($this.val() < 1) {
            $this.val(1)
        }

        if ($this.val() > 10) {
            $this.val(10)
        }

    }
}, 50)
})

$('input').blur(function () {
    if (t != false) {
    window.clearInterval(t)
    t = false;
    }
})

DEMO

【讨论】:

    【解决方案2】:

    如果您想禁止用户输入除数字以外的任何内容,您必须使用 JS 或 jQuery。

    尝试以下方法:

    Only numbers please: 
    <input type="number" min="1" max="10" id="someid" onkeypress="return isNumberKey(event)" /> 
    
    <script>
    function isNumberKey(evt){
        var charCode = (evt.which) ? evt.which : event.keyCode;
        var num = document.getElementById('someid').value;
        if ((charCode > 31 && (charCode < 48 || charCode > 57)) || (num > 10)){
            if (num > 10){
              alert('choose number from 1-10');    
            }
            return false;
        }else{
            return true;
        }
    }   
    </script>
    

    http://jsfiddle.net/3F5rd/1/

    【讨论】:

    • 数字没问题,但它仍然不能解决我的问题我只希望用户输入 0 - 10 之间的值,但它可以正常工作 1 从我开始兄弟
    猜你喜欢
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 2022-08-12
    相关资源
    最近更新 更多