<script language="javascript"> 
var LastCount=0; 
function CountStrByte(Message,Used) 

var ByteCount=0; 
var StrValue=Message.value; 
var StrLength=Message.value.length; 
var MaxValue=20; 
if(LastCount!=StrLength) 

  for(i=0;i <StrLength;i++) 
  { 
    ByteCount=ByteCount+1; 
    if(ByteCount>MaxValue) 
      { 
       Message.value=StrValue.substring(0,i); 
       ByteCount=MaxValue; 
       break; 
      } 
  } 
Used.innerHTML=ByteCount; 
}
else
Used.innerHTML=ByteCount;

</script>          
<body> 
<textarea name="a" onKeyDown="CountStrByte(a,b);" onkeyup ="CountStrByte(this,document.getElementById('b'));"></textarea> 
已输入 <span id=b>0</span>个字(最多可以输入20个字符!) 

解决方案 »

  1.   


    <SCRIPT LANGUAGE="JavaScript">
    function fun(obj)
    {
    var n=obj.value.length
    if(n>=1000)
    {
    alert("超了")
    obj.value = obj.value.substring(0,1000)
    }
    document.getElementById('s').innerHTML=1000-obj.value.length;}
    </SCRIPT>
    <textarea name="content" cols="60" rows="5" onKeyUp="fun(this)"></textarea>
    还剩<span id="s">1000</span>个字符
      

  2.   

    <html><head><title></title>
    <script type="text/javascript">
    $ = function(id)
    {
        return document.getElementById(id);
    }
    function school_Presentation(textId, id)
    {
        var school_value = $('About').value;
        str = school_value
        aa = /([\u00FF-\uFFFF])/
        while(aa.test(str))
        {
            str = str.replace(aa, "aa");
        }
        if(str.length <= 255)
        {
            var leng = 255 - str.length;
            $(id).innerHTML = '还可以输入了<span style="color:red">' + leng + '</span>个字符';
        }
        else
        {
            var leng = str.length - 255;
            $(id).innerHTML = '超出<span style="color:red">' + leng + '</span>字符';
        }
    }
    </script>  </head>
      <body>
      <textarea name="About"  id="About" cols="80" rows="8" maxlength="4" onpropertychange="school_Presentation('About','leng')"></textarea>
    <div id="leng">还可以输入了<span style="color:red">255</span>个字符</div>
      </body>
    </html>
      

  3.   

    <script language="javascript">
    function textLimitCheck(thisArea, maxLength){
        if (maxLength-thisArea.value.length <0){
          alert(maxLength + ' 个字限制. \r超出的将自动去除.');
          thisArea.value = thisArea.value.substring(0, maxLength);
          thisArea.focus();
        }
        /*回写span的值,当前填写文字的数量*/
        messageCount.innerText = maxLength-thisArea.value.length;
      }
    </script><TEXTAREA class=b2b_m1 onkeyup="textLimitCheck(this, 1000);" name=companydetail cols=68 rows="6" ></TEXTAREA><br>还剩<FONT color=#cc0000><SPAN id="messageCount">1000</SPAN></FONT>个字</FONT><FONT color=#666666>(请不要留下您的联系方式,1000字以内)</FONT>
      

  4.   

    说明一下,楼上的两位,正常情况,通过键盘输入当然是没问题的,但是如果通过鼠标来粘贴,则失效的
    以下代码只是在ie6下测试通过,并且在这个事件中改值是个不好的想法,呵呵
    <script language="javascript"> 
    var LastCount=0; 
    function getCount(obj,b) 
    {  
    b.innerText=20-obj.value.length;
    if(obj.value.length>20)
    obj.value=obj.value.substring(0, 20);
    }
    </script>          
    <body> 
    <textarea name="a" onPropertyChange="getCount(this,b);"></textarea> 
    剩余 <span id=b>20</span>个字(最多可以输入20个字符!)