我尝试限制可以添加到文本区域的字符数。我知道我可以使用子字符串获取字符数,但我想向用户表明他的文本已达到最大长度。
maxlength-attribute 似乎完全符合我的要求,但 IE 在我们当前的版本上不支持它(我认为它在 IE9 附近的某个地方支持)
为了规避这个问题,我集成onKeyPress="return(this.value.length < 160);"
了它可以很好地防止文本过长,但它也可以防止擦除或重新编辑文本,这是一个巨大的问题。
我尝试限制可以添加到文本区域的字符数。我知道我可以使用子字符串获取字符数,但我想向用户表明他的文本已达到最大长度。
maxlength-attribute 似乎完全符合我的要求,但 IE 在我们当前的版本上不支持它(我认为它在 IE9 附近的某个地方支持)
为了规避这个问题,我集成onKeyPress="return(this.value.length < 160);"
了它可以很好地防止文本过长,但它也可以防止擦除或重新编辑文本,这是一个巨大的问题。
只需添加这个对我有用的 javascript 并且查看左字符也很有用。
function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
{field.value = field.value.substring(0, maxlimit); }
// otherwise, update 'characters left' counter
else
{
//cntfield.value = maxlimit - field.value.length;
cntfield.value = field.value.length
}
}
html file
还请添加onKeypress
具有以下跨度的文本区域的事件以管理剩余字符
<span class="alignright comments-req"><input type="text" name="textlen" id="textlen" value="0" class="counter-textfield">/500 <?php echo $this->translate('LABEL_CHARACTER_USED');?></span>
You can use jquery validation check this link
http://jqueryvalidation.org/maxlength-method/
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Makes "field" required having at most 4 characters.</title>
<link rel="stylesheet" href="http://jquery.bassistance.de/validate/demo/site-demos.css">
</head>
<body>
<form id="myform">
<label for="field">Required, maximum length 4: </label>
<input type="text" class="left" id="field" name="field">
<br/>
<input type="submit" value="Validate!">
</form>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
<script>
// just for the demos, avoids form submit
jQuery.validator.setDefaults({
debug: true,
success: "valid"
});
$( "#myform" ).validate({
rules: {
field: {
required: true,
maxlength: 4
}
}
});
</script>
</body>
</html>