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" 就是要控制的长度


浙公网安备 33010602011771号