?
textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到。与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求。
通常的做法就是使用JavaScript脚本语言来实现对textarea文本域的字数输入限制,主要思路就是先定义一个显示区域,创建键盘事件(onkeyup或onkeydown),利用函数统计字数,判断后再显示。
?
?
<p><textarea name="contents" id="contents" cols="15" rows="5" size="10" onkeyup="sizecontrol()"></textarea><span id="a">已输入字符: </span></p> <script type="text/javascript"> var maxl=20//总长 function sizecontrol(){ var s=document.getElementById("contents").value.length; if(s>maxl)document.getElementById("contents").value=document.getElementById("contents").value.substr(0,maxl) else document.getElementById("a").innerHTML="已输入:"+s+"/"+maxl+" 字符" } </script>
?
?
javascript中的substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符
注释:substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。在opera浏览器中使用无效。
重要事项:在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。