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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,以下是一个简单的实现代码: 前端代码: ```html <asp:ScriptManager runat="server" /> <asp:UpdatePanel runat="server"> <ContentTemplate> <asp:TextBox ID="txtCode" runat="server" OnTextChanged="txtCode_TextChanged" AutoPostBack="true"></asp:TextBox> <asp:CustomValidator ID="cvCode" runat="server" ControlToValidate="txtCode" OnServerValidate="cvCode_ServerValidate" ErrorMessage="验证码不正确"></asp:CustomValidator> <asp:Button ID="btnSubmit" runat="server" Text="提交" OnClick="btnSubmit_Click" /> </ContentTemplate> </asp:UpdatePanel> ``` 后端代码: ```c# protected void txtCode_TextChanged(object sender, EventArgs e) { cvCode.Validate(); } protected void cvCode_ServerValidate(object source, ServerValidateEventArgs args) { if (txtCode.Text.Trim() == Session["code"].ToString()) { args.IsValid = true; } else { args.IsValid = false; } } protected void btnSubmit_Click(object sender, EventArgs e) { if (Page.IsValid) { // 验证通过,执行相应操作 } } ``` 在上面的代码中,我们使用了一个UpdatePanel来实现局部刷新页面,一个TextBox来获取用户输入的验证码,一个CustomValidator来进行验证,一个Button来提交表单。在TextBox的OnTextChanged事件中,我们调用了CustomValidator的Validate方法来进行验证,CustomValidator的OnServerValidate事件中,我们将输入框的值与Session中的值进行比较,如果相同,就设置args.IsValid为true,验证通过;否则,设置args.IsValid为false,验证失败。在Button的OnClick事件中,我们判断Page.IsValid是否为true,如果为true,则验证通过,执行相应操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值