第一种方式
<textarea rows="5" maxlength="200" οnchange="this.value=this.value.substring(0, 200)" οnkeydοwn="this.value=this.value.substring(0, 200)" οnkeyup="this.value=this.value.substring(0, 200)" ></textarea>
** 备注:onchange、onkeydown、onkeyu三者缺一不可。**
如省略onchange,当你用复制功能,此时一直按着ctrl不松开,鼠标去点击其他地方(焦点移出textarea)时,不会自动取消超出部分;
如省略onkeydown,快速录入的时候会有很多个字符突然不见;
如省略onkeyup,原想预计200的情况下,会变成201,并且最后一个字符是最后敲进去的。
Maxlength 也不可省略,加上maxlength 当碰到IE10及以上版本时,可以完美的实现限制输入框字数的功能。不像其他低版本的IE浏览器还可能出现一个字母后消失。
第二种方式
使用JavaScript方式
<textarea onkeyup="sizecontrol()"> </textarea>
<span id="a"></span>
JS用法:
<script type="text/javascript">
var maxl=20;//总长度
function sizecontrol(){
var s=document.getElementById("description").value.length;
if(s>maxl)document.getElementById("description").value=document.getElementById("description").value.substr(0,maxl)
else document.getElementById("a").innerHTML="已输入:"+s+"/"+maxl+" 字"
}
</script>
以上是两种方式处理textarea限制字数。