高难问题,至今没有找到答案.
页面上有一个textarea(注意是多行的),现在需要用Js实现下面的功能.   
 1.只能输入一定字节的字符,比如允许的最大长度是10,那么只能输入10个字母或者5个   汉字(双字节的字符). 
 2.而且允许用户用退格键,delete键以及其他的非字符键. 
 3.必须同时支持ie和firefox,太低的版本可以不考虑.    
 4.用户粘贴的时候也必须保证不会超过允许的最大长度,不能单单考虑用键盘输入.   
 web开发专家分比较少,只能放100分的帖子. 
 如果有兄弟帮解决了,我可以非技术分或者捐赠可用分. 
 谢谢! 
------解决方案--------------------   <script language= "javascript ">  
 function strlength(str){ 
 		var l=str.length; 
 		var n=l 
 		for (var i=0;i <l;i++) 
 		{ 
 			if (str.charCodeAt(i) <0||str.charCodeAt(i)> 255) n++ 
 		} 
 		return n		 
 	}  		 
 function changeHints(){ 
 	var l=strlength(document.form1.NewsTitle.value); 
 	if (l <=100) { 
 		if (document.all!=null) document.all( "hints ").innerHTML= " <font color= '#ff0000 '> 还可以输入 "+(100-l)+ "个字节 </font>  " 
 	} 
 	else{ 
 		if (document.all!=null) { 
 			document.all( "hints ").innerHTML= " <font color=red> 输入的字节数超出100个字节 </font>  " 
 		} 
 	} 
 	return true 
 } 
  </script>  
 .... 
  <td class= "content ">  
 (标题请少于100个字节(50个汉字), <span id= "hints " color= "red ">  <font color= '#ff0000 '> 还可以输入100字节 </font>  </span> 。标题应为完整句子,指代要明确,不能使用我市、我县、某某项目等模糊字眼或标题。) <br>  
  <input NAME= "NewsTitle " type= "text " size= "60 " maxlength=100 value= " <%=NewsTitle%>  " onKeyDown= "return changeHints() " onKeyUp= "return changeHints() ">  
  </td>  
 ......   
 把text改为textarea   
------解决方案--------------------测试了下,恐怕不太好做,主要是对各种输入法引起的一些keyup或者keypress不触发,感觉最好还是在焦点离开的时候判断,或者在提交的时候判断,只要不清空里面的内容,客户辛苦输入的东西还在,客户应该还是可以接受的吧