用JS怎样解决多行文本域字符限制功能,要达到单行文本框限制字符的效果;输满规定字字符个数后不能再出现

2025-02-27 14:10:51
推荐回答(5个)
回答1:

这样:

function s(){
var leng=要限制的字符数
if(this.value.lengtg>=leng){
//加一个限制,达到更强劲的效果
event.returnValue=false; //达到指定字数后,任何按键都失效。
//截取字符串
this.value=this.value.substring(0,leng);
}
}

因为onpropertychange只在IE中有效,而oninput在大多数浏览器中都有效,所以两个一起上。

回答2:

使用onkeypress事件(或onkeyup或onkeydown)和onbeforepaste事件,在事件函数里检查文本框内容长度,如果超长, 就将event.keycode设为0,对于onbeforepaste事件就停止粘贴.

也可只使用onpropertychange事件.对超长内容截断

前面的方法可在新字符被录入前就被阻止,后一种方法会一闪而过,但也可以达到你想要的效果.
给你一个onpropertychange的例子

只能输10个字


回答3:

你直接不方便吗?

补充: 操, 服了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;
}
}
}
然后直接用的方法

回答4:




回答5:

用onchenge事件监听文本框的字符串的长度,大于一定的值就……
你懂的