PPK 的 Textarea Maxlength脚本可在他的网站上找到。没什么特别的,只是普通的旧 JavaScript。
您可以轻松地将此作为起点并进行更改以适应您的 CSS“通知”要求。
请注意,作者指出:“我的脚本的目的不是强制执行最大长度,尽管可以很容易地更改它来做到这一点。但是,我决定将我的脚本限制为在用户超过最大长度时给予礼貌提醒字符。”
更新:
由于所附文章中的链接失效,这里是该链接上曾经存在的代码:
HTML:
<textarea id="text" name="text" maxlength="1250"></textarea>
JS:
function setMaxLength() {
var x = document.getElementsByTagName('textarea');
var counter = document.createElement('div');
counter.className = 'counter';
for (var i=0;i<x.length;i++) {
if (x[i].getAttribute('maxlength')) {
var counterClone = counter.cloneNode(true);
counterClone.relatedElement = x[i];
counterClone.innerHTML = '<span>0</span>/'+x[i].getAttribute('maxlength');
x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
x[i].relatedElement = counterClone.getElementsByTagName('span')[0];
x[i].onkeyup = x[i].onchange = checkMaxLength;
x[i].onkeyup();
}
}
}
function checkMaxLength() {
var maxLength = this.getAttribute('maxlength');
var currentLength = this.value.length;
if (currentLength > maxLength)
this.relatedElement.className = 'toomuch';
else
this.relatedElement.className = '';
this.relatedElement.firstChild.nodeValue = currentLength;
// not innerHTML
}
只需setMaxLength();在加载时调用该函数。