搜索

首页  >  问答  >  正文

javascript - 关于限制表单中字符长度的问题

123<input type="text" id='text'/>
456<input type="text" />


js=========
var input=document.getElementsByTagName('input');
for (var i = 0; i < input.length; i++) {
    input[i].onkeyup=function () {
        if(this.value.length>=5){
            this.maxlength=5;
        }
    }
}

我想限制文本框只能输入5个字符,为什么限制不了?用js调用maxlength不能立刻生效?























黄舟黄舟2894 天前374

全部回复(4)我来回复

  • PHPz

    PHPz2017-04-10 15:25:32

    看下这个例子:http://jsfiddle.net/JerryZou/cysquspz/embedded/

    var input = document.getElementById("input");
    input.maxLength = 5;
    

    从JS中修改这个属性的话,是maxLength

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:25:32

    为啥不直接放到input里面?

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

    回复
    0
  • 高洛峰

    高洛峰2017-04-10 15:25:32

    <input type="text" maxlength=5>
    

    这不是更简单吗?

    回复
    0
  • 高洛峰

    高洛峰2017-04-10 15:25:32



    <script> function validate(stra) { if (!(stra.value.length<5)) { stra.setAttribute("maxlength","5"); alert("less"); } } </script>

    试了一下,当输入值长度超过5时,可以弹出窗口,但是并不能阻止继续输入,还请楼下大神解答。

    补充:使用setAttribute(attribute,value),可以在阻止输入更多位数的文本,同时改变if语句判断条件为“!(stra.value.length<5)”,可以通过js控制输入框的文本最多为5位。

    回复
    0
  • 取消回复