<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

解决方案 »

  1.   

    谢谢楼上的兄弟,大概是我没有说清楚.等用户输入达到最大限制时,常规的字符键不能再输入,但是可以接收退格和delete键.
      

  2.   

    测试了下,恐怕不太好做,主要是对各种输入法引起的一些keyup或者keypress不触发,感觉最好还是在焦点离开的时候判断,或者在提交的时候判断,只要不清空里面的内容,客户辛苦输入的东西还在,客户应该还是可以接受的吧
      

  3.   

    Top  
     hbhbhbhbhb1021(天外水火(我要多努力)) ( ) 信誉:100    Blog  2007-3-16 19:56:11  得分: 0  
     
     
       
    测试了下,恐怕不太好做,主要是对各种输入法引起的一些keyup或者keypress不触发,感觉最好还是在焦点离开的时候判断,或者在提交的时候判断,只要不清空里面的内容,客户辛苦输入的东西还在,客户应该还是可以接受的吧
    ==================================================================================
    你的思路同意,我是用asp.net的,我更愿意用CustomValidator实现这个逻辑,但是这个我说了不算,呵呵.
    揭帖!