实时计字数提醒的文本框

那天在一个**论坛上看到一个相当有意思的功能,就是在文本框中输入字符的时候,旁边会提示还可以输入多少个字。
自己想了一下应该是用JavaScript实现的,今天把它做出来了。原理很简单就是根据文本框触发的onkeyup事件来获得当前文本框字符的长度,然后文本框允许输入的最大字符数来减去当前的字符数,并用label控件显示出来就可以了。

<html>
<head>
<title>enter</title>
<script language="javascript">
function keypress1() //text输入长度处理
{
   var text1=document.getElementById("mytext1").value;
   var len=15-text1.length;
   var show="你还可以输入"+len+"个字";
   document.getElementById("name").innerText=show;
}
function keypress2() //textarea输入长度处理
{
   var text1=document.getElementById("myarea").value;
   var len;//记录剩余字符串的长度
   if(text1.length>=300)//textarea控件不能用maxlength属性,就通过这样显示输入字符数了
   {
    document.getElementById("myarea").value=text1.substr(0,300);
    len=0;
   }
   else
   {
     len=300-text1.length;
   }
   var show="你还可以输入"+len+"个字";
   document.getElementById("pinglun").innerText=show;
}

</script>
</head>
<body>
<center>
<div style="text-align:left;">
<h>昵称:</h>
<input type="text" id="mytext1" maxlength=15 onKeyUp="keypress1()"/>
<font color="gray"><label id="name">你还可以输入15个字</label></font>
<br>
<h>评论内容:</h><br>
<textarea id="myarea" style="height:100px;width:200px;overflow-x:hidden;overflow-y:hidden"   onKeyUp="keypress2()" onblur="keypress2()"></textarea>
<font color="gray"><label id="pinglun">你还可以输入300个字</label></font>
<div>
</center>


</body>
</html>

运行的界面如下:

posted @ 2010-07-08 15:23  春哥也编程  阅读(477)  评论(1编辑  收藏  举报