jquery如何在maxlength完成后显示maxlength限制

时间:2016-10-24 10:53:21

标签: jquery

输入输入类型中的最后一个字符后,我需要显示maxlength验证。如果限制为10,那么我需要在键入11个字符时显示错误消息。

if(maxLength > parseInt(localStorage.getItem('max'+field.id)))
    {

        console.log("Yes true");
    }

      if (curLength == maxLength)  
    {   console.log("wwww");

        extraOne = parseInt(maxLength)+parseInt(1); 
        $(field).attr("maxlength",extraOne);

    }

这是js小提琴

https://jsfiddle.net/php_web_dev/opcasrk9/11/

2 个答案:

答案 0 :(得分:0)

您已在HTML中将maxlength属性集添加到10,这意味着您无法输入超过10个字符。因此,无法执行此验证。

答案 1 :(得分:0)

您可以考虑的一个解决方案是允许最大长度为11,当用户超过限制时,删除最后一个(第十一个)字符并显示消息。

$(".limit-char").on('keyup',function(event) {      
    var maxLength = $( this ).attr( "maxlength" );
    var curLength = $( this ).val().length;
	var fieldError = "#error1";
  
    if (maxLength <= curLength)  
    {    
        var curLength = $( this ).val().length; 
        $(fieldError).text("Limit Exceed");
        $( this ).val($( this ).val().substring(0, maxLength-1));
    }else {
        $(this).css('background','none');
        $(fieldError).text("");
    }       		
});	
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<input class="limit-char" type="text" maxlength="11" />
<span id="error1"></span>