渔鱼

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  64 随笔 :: 60 文章 :: 9 评论 :: 0 引用
页面上有一个服务端控件TextBox,设置多行模式,希望限制用户输入字数。
最初尝试使用RegularExpressionValidator控件,期望使用正则表达式匹配带有回车、换行的所有文本,但是,最终没实现

于是多写几行代码,使用Javascript实现,相关代码如下:
<asp:TextBox ID="CommentTextBox" runat="server" TextMode="multiline" Rows="5"
onblur="CommentLengthValidator(this, 50)"
onkeydown="CommentLengthValidator(this, 50)"></asp:TextBox>
<label id="CommentLengthValidatorLable" style="color:Red;"></label>

<script language="javascript">
function CommentLengthValidator(obj, len)
{   
    var mesgBox=document.getElementById("CommentLengthValidatorLable");
    if(obj.value.length > len)
    {
        obj.value=obj.value.substr(0,len);
        mesgBox.innerText="Limited characters " + len + ".";
    }
    else
    {
        mesgBox.innerText="";
    }
}
</script>


补充说明:
1. 文本超出的处理是自动截取指定长度和警告提示。
2. Html代码中使用了2个事件调用同一方法CommentLengthValidator,目的是分别处理粘贴文本和实时输入文本的情况。
3. onblur:处理粘贴文本的情况,当控件失去焦点便触发执行。
4. onkeydown:处理键盘实时输入文本情况,当文本字符数超出范围时便触发执行。

最后,呼唤能人高手,请赐教如何使用ASP.NET验证控件简单实现?
posted on 2008-04-19 03:55 博闻李 阅读(351) 评论(0)  编辑 收藏 网摘 所属分类: ASP.NET技术Javascript

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-04-19 04:42 编辑过
Google站内搜索


China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!

相关文章:


相关搜索:
ASP.NET验证 多行文本框 字数限制

相关链接: