liufeng

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

TextBox有一个TextMode,把它设置成MultiLine后,MaxLength就不好用了.使用这个方法便可以解决此问题
新建一个txt文档,把以下代码复制进去,然后把扩展名改为:.htc后保存.

<PUBLIC:PROPERTY name="charsize" /
<PUBLIC:ATTACH event="onkeypress" handler="doKeyPress" /
<PUBLIC:ATTACH event="onbeforepaste" handler="doBeforePaste" /
<PUBLIC:ATTACH event="onpaste" handler="doPaste" /

<SCRIPT language="JavaScript"> 
// Keep user from entering more than maxLength characters 
function doKeyPress()

    
if(!isNaN(charsize))
    

        maxLength 
= parseInt(charsize); 
        
var oTR = element.document.selection.createRange(); 
        
// Allow user to type character if at least one character is selected 
        if (oTR.text.length >= 1
            event.returnValue 
= true
        
else if (value.length > maxLength-1
            event.returnValue 
= false
    }

}
 
// Cancel default behavior 
function doBeforePaste()

    
if (!isNaN(charsize)) 
    event.returnValue 
= false
}
 
// Cancel default behavior and create a new paste routine 
function doPaste()

    
if (!isNaN(charsize))
    
{
        event.returnValue 
= false
        maxLength 
= parseInt(charsize); 
        
var oTR = element.document.selection.createRange(); 
        
var iInsertLength = maxLength - value.length + oTR.text.length; 
        
var sData = window.clipboardData.getData("Text").substr(0,iInsertLength); 
        oTR.text 
= sData; 
    }
 
}
 
</SCRIPT> 

 

<asp:textbox id="txtContent" runat="server" CssClass="longform" MaxLength="200" TextMode="MultiLine" Rows="3" style="BEHAVIOR: url('MaxLength.htc'); WORD-BREAK: break-all" charsize="200"> </asp:textbox>

这个 charsize="200" 就是要控制的长度

posted on 2008-03-05 16:28  嚣张的沉默  阅读(2252)  评论(4)    收藏  举报