控件textbox的TextMode="MultiLine"时的限制字数多少问题

当ASP.NET中的TextBox控件设置为TextMode='MultiLine'时,MaxLength属性无效。为限制输入字数,可以通过JavaScript的onkeydown和onPaste事件进行控制。提供了一个JS函数示例,用于在字数达到特定限制时阻止输入或粘贴。

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了

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值