最近在做一个项目中遇到这样一个问题,要对文本框中用户输入的文字进行记数,在下面显示出来,因为我们做的是一个短信发送平台,现在我们国家的短信服务,如果你的信息超过了70个字符,短信就会按二条给你下发。所以要求我们给用户显示他输入了多少个字。好便于用户知道我条信息会分几条给出。

   在网了一个代码,放上去,开始使用的时候,还行,不错,可是使用了一段时间后发现了问题。就是你在删除文字后,上面的字数变化就有问题,后来研究了一下,找到问题的所在。onKeyDown="showLen(this)" onKeyUp="showLen(this)以前每次只用了其中一个方法,而且没有者用,这二个方法是在你按下键盘与松开键盘的时候都进行计数,好了,我把程序放上来

 

[javascript] view plaincopy  
  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
  • <HTML>  
  •  <HEAD>  
  •   <TITLE> New Document </TITLE>  
  •   <META NAME="Generator" CONTENT="EditPlus">  
  •   <META NAME="Author" CONTENT="">  
  •   <META NAME="Keywords" CONTENT="">  
  •   <META NAME="Description" CONTENT="">  
  • <mce:script language="javascript"><!--  
  • function showLen(obj)  
  • {  
  •  document.getElementById("contentLen").value=obj.value.length;  
  •  document.getElementById("smsnum").value=Math.floor(obj.value.length/70)+1;  
  • }  
  • // --></mce:script>  
  •  </HEAD>  
  •  <BODY>  
  •   
  • <textarea name="content" cols="60" rows="5" id="content" onKeyDown="showLen(this)" onKeyUp="showLen(this)">  
  • (注:短信超过70个字符会分成多条发送,当前字数: 个,分  条短信发送)