如何解决输入文本字符数考虑与实际字符数不同
即使字符数未达到 85,也不允许进一步输入。字符限制设置为 85。 我不明白缺少的东西。 是否添加了与表单控件相关的内容。
<div style="display: inline-flex;width: 150%;">
<input type="text" class="form-control controlheight claimdesc" onkeyup="ReasonCodeDescCounter(this.id)" id="txt_complaint_breakdowndesc" maxlength="85">
<span style="padding-left: 5%;line-height: 25px;" class="mandatoryinput"></span>
</div>
function ReasonCodeDescCounter(id){
var x = document.getElementById(id).value;
var lastreasoncodedesccharactersLeft;
lastreasoncodedesccharactersLeft=0;
var lengthCount = x.length;
var lengthdata = x;
var reasoncodecharactersLeft;
if (lengthCount > 85) {
id.value = id.value.substring(0,lengthdata-1);
reasoncodecharactersLeft = lastreasoncodedesccharactersLeft;
}
else {
reasoncodecharactersLeft = 85 - lengthCount;
lastreasoncodedesccharactersLeft= reasoncodecharactersLeft;
}
$("#reasoncodecharactersLeft").css('display','block');
$("#reasoncodecharactersLeft").text(reasoncodecharactersLeft + ' Characters left');
}
[![enter image description here][1]][1]
// Typing validation
$(document).on("keypress",".claimdesc",function (e) {
var desc = $(this).val();
var desclen=escape(desc);
desclenstr=desclen.substr(0,180);
var desclentmp=desclenstr.lastIndexOf("%");
if(desclentmp>82){
var desclentmpdata=desclenstr.substr(0,desclenstr.lastIndexOf("%"));
desclentmpdata=unescape(desclentmpdata);
$(this).val(desclentmpdata);
}else{
desclenstr=unescape(desclenstr);
$(this).val(desclenstr);
}
var keyCode = event.keyCode == 0 ? event.charCode : event.keyCode;
if(desclen.length>82 && desclen.length<=84){
return (keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) ;
}else if(desclen.length>84){
event.preventDefault();
return false;
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。