这样:
function s(){
var leng=要限制的字符数
if(this.value.lengtg>=leng){
//加一个限制,达到更强劲的效果
event.returnValue=false; //达到指定字数后,任何按键都失效。
//截取字符串
this.value=this.value.substring(0,leng);
}
}
因为onpropertychange只在IE中有效,而oninput在大多数浏览器中都有效,所以两个一起上。
使用onkeypress事件(或onkeyup或onkeydown)和onbeforepaste事件,在事件函数里检查文本框内容长度,如果超长, 就将event.keycode设为0,对于onbeforepaste事件就停止粘贴.
也可只使用onpropertychange事件.对超长内容截断
前面的方法可在新字符被录入前就被阻止,后一种方法会一闪而过,但也可以达到你想要的效果.
给你一个onpropertychange的例子
你直接不方便吗?
补充: 操, 服了IE了...
window.onload = function() {
var txts = document.getElementsByTagName('textarea');
for (var i = 0, l = txts.length; i < l; i++) {
if (/^[0-9]+$/.test(txts[i].getAttribute("maxlength"))) {
var func = function() {
var len = parseInt(this.getAttribute("maxlength"), 10);
if (this.value.length > len) {
this.value = this.value.substr(0, len);
return false;
}
}
txts[i].onkeyup = func;
txts[i].onblur = func;
}
}
}
然后直接用的方法
用onchenge事件监听文本框的字符串的长度,大于一定的值就……
你懂的