最近在做一個項目中遇到這樣一個問題,要對文本框中用戶輸入的文字進行記數,在下面顯示出來,因為我們做的是一個短信發送平臺,現在我們國家的短信服務,如果你的信息超過了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個字符會分成多條發送,當前字數: 個,分  條短信發送)