输入输入类型中的最后一个字符后,我需要显示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小提琴
答案 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>