TextMode="MultiLine"的Textbox不能用平常的MaxLength属性来标识,这个属性在此地不起作用,那么问题来了,该怎么做呢?
在此控件中利用onkeydown事件和onPaste事件调用JS
JS如下:
<script type="text/javascript">
function DoKeyPress(maxLen) {
var str = event.srcElement.value;
var oSR = document.selection.createRange();
if (str.length < maxLen) {
event.returnValue = true;
} else if (oSR.text.length > 0) {
event.returnValue = true;
} else {
event.returnValue = false;
}
if (event.srcElement.type != 'button' && event.keyCode == 13) {
event.keyCode = 9;
}
}
function CheckPaste(maxLen) {
var str = event.srcElement.value;
var oSR = document.selection.createRange();
var strData = clipboardData.getData('text');
var iLenPaste = maxLen - str.length + oSR.text.length;
oSR.text = strData.substring(0, iLenPaste);
event.returnValue = false;
}
</script>
在控件中使用情况:
<asp:TextBox ID="txtRemark" runat="server" TextMode="MultiLine" Height="76px" Width="285px"
onkeydown="DoKeyPress(150)" onPaste="CheckPaste(150)"></asp:TextBox>
OK了
当ASP.NET中的TextBox控件设置为TextMode='MultiLine'时,MaxLength属性无效。为限制输入字数,可以通过JavaScript的onkeydown和onPaste事件进行控制。提供了一个JS函数示例,用于在字数达到特定限制时阻止输入或粘贴。

1051

被折叠的 条评论
为什么被折叠?



