日期:2014-05-19  浏览次数:20453 次

求助一个ASP.NET2.0+JS的问题
客户端  
function   checkMessage(){
           var   tc   =   document.all. <%=this.txt_message.ClientID.ToString()   %> ;
           var   ct   =   document.all.ct;
           syzh   =   70-tc.value.length;
           ct.innerHTML   =   "剩余字数: "   +   syzh;
           if   (syzh   <=0){
                   if(event.keyCode==46   ||   event.keyCode==8){
                           return   true;
                   }
                   return   false;
           }
  }  

服务器端的page_load事件  
this.txt_message.Attributes.Add( "onkeydown ",   "return   checkMessage() ");

这段效果就是说在txt_message(服务器端TextBox控件)上输入数字 <spen   id= "ct "   /> 就会自动提示字数,如果操作70个字符就输入无效了  

我的问题是:我现在用ctrl+c   或者   ctrl+v把字符复制到txt_message就控制不住了字符数量了。我的问题是,怎样才能控制得住?   谢谢!

------解决方案--------------------
window.clipboardData.getData( "text ").length 这个长度是贴的长度,其他的代码应该会写吧?
------解决方案--------------------
来一段简单的,onpaste可以用于服务器端的TextBox控件
<script>
function checkOutOfMax(obj)
{
if ( window.clipboardData.getData( 'text ').length > 70 )
{
alert( "粘贴的字符超过规定长度 ");
}
else
{
obj.value = window.clipboardData.getData( 'text ');
}
}
</script>
<asp:TextBox ID= "TextBox3 " onpaste= "checkOutOfMax(this);return false; " runat= "server "> </asp:TextBox>