多⾏⽂本框的字符数限制。
在Web开发中经常会遇到多⾏⽂本框,⽐如:备注栏。普通的⽂本框控件如果想要限制字符长度可以直接设置maxLength属性,但是,⼀旦将⽂本框设置为多⾏,虽说也可以设置maxLength属性,但是我们会发现这个功能已经失效了,于是我了个新的⽅法,⽐较复杂了点,希望⼤家有好的意见可以给我提。
1.⾸先在<head></head>中添加下列js脚本:
function setMaxLength(object,length)
{
var result = true;
var controlid = ateRange().parentElement().id;
var controlValue = ateRange().text;
if (controlid == object.id && controlValue != "")
{
result = true;
}
else if (object.value.length >= length)
{
result = false;
}
if (window.event)
{
urnValue = result;
return result;
}
}
//Check maxlength for multiline TextBox when paste
function limitPaste(object,length)
{
var tempLength = 0;
if(document.selection)
{
textbox控件边框设置if(ateRange().parentElement().id == object.id)
{
tempLength = ateRange().text.length;
}
}
var tempValue = Data("Text");
tempLength = object.value.length + tempValue.length - tempLength;
if (tempLength > length)
{
tempLength -= length;
tempValue = tempValue.substr(0,tempValue.length - tempLength);
window.clipboardData.setData("Text", tempValue);
}
urnValue = true;
}
2.在需要限制⼤⼩的⽂本框内添加下列属性:
οnkeypress="javascript:setMaxLength(this,100);" οnpaste="limitPaste(this, 100)"
其中的100是字符⼤⼩(注:汉字计⼊1个字符,100也就是指100个汉字或英⽂字母)
有可能⼤家在.NET的服务器控件上添加以上代码时会提⽰说不含此属性,不⽤管它,直接运⾏就可以达到效果。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论