如果输入类型=数字,则maxlength = 5不起作用

时间:2015-02-13 12:11:39

标签: javascript html html5 maxlength

这令人沮丧!

当输入类型为text并且我将maxlength设为5时,它不允许我输入超过5个字符

<input type="text"  maxlength="5" />

如果我将输入类型设为number而我将maxlength设为5,则允许超过5位?

<input type="number" maxlength="5" pattern="[0-9]*" />

我错过了什么吗?

PS:这是针对移动设备的响应式网站!

5 个答案:

答案 0 :(得分:3)

而不是maxlength使用max

<input type="number" min="1" max="10000" />

<强>更新

小jQuery插件

(function ($) {
    $.fn.maxlength = function (length) {
        return this.on('keydown', function () {
            var maxlength = length || parseInt($(this).attr('maxlength'), 10) ;
            if (maxlength && $(this).val().length >= maxlength) {
                $(this).val($(this).val().slice(0, maxlength - 1));
            }
        });
    };
}($));

Example

答案 1 :(得分:2)

尝试使用max ...

<input type="number" max="99999" />

编辑:显示验证

<form id='FormValidation'>
<input id="myNum" type="number" min="1" max="99999" />
<input type="text"  maxlength="5" />
    <input type="submit" />
</form>

尝试添加大于 99999 的数字并点击提交,请检查更新后的fiddle

这个jquery也可以帮助......

$('#myNum').keyup( function(e){
    var max = $('#myNum').attr('max').length;
    if ($(this).val().length >= max) { 
        $(this).val($(this).val().substr(0, max));
    }
});

答案 2 :(得分:1)

maxlength替换为max

 // Max Length = 5
<input type="number" max="99999" />
// length between 1 to 5
<input type="number" min="1" max="99999" />

答案 3 :(得分:1)

更新了答案。这很简单!

<input type="number" id="nbr"/>

<input type="text"  maxlength="5" />

$(document).on('keypress','#nbr', function(e){
if($(this).val().length >= 5)
   {
       e.preventDefault();
   }

});

答案 4 :(得分:0)

您可以添加一个max属性,指定可插入的最高编号

<input type="number" max="999" />

如果同时添加最大值和最小值,则可以指定允许值的范围:

<input type="number" min="1" max="999" />