在我的函数里面的js文件中,我正在准备这样
var x = '<span class="someclass">
<textarea class="editField" maxlength="60">
</textarea>
</span>';
这里我通过使用 maxlength 属性来限制文本区域的大小,它在 IE 中不起作用。
在我的函数里面的js文件中,我正在准备这样
var x = '<span class="someclass">
<textarea class="editField" maxlength="60">
</textarea>
</span>';
这里我通过使用 maxlength 属性来限制文本区域的大小,它在 IE 中不起作用。
maxlength
并非<textarea>
所有浏览器都支持。无论如何,我认为实际上限制用户输入他们想要的内容并不是一个好主意。告诉他们他们超过了限制,但不要把他们锁在外面。
它不会。IE10 现在支持文本区域上的 HTML5 最大长度。 如果您需要在以前的 IE 版本中限制长度,请参见此处 ,那么您将需要 javascript。
IE 不支持 Maxlength,如果您想限制用户在 IE 中输入无限字符,则需要使用 javascript。
您可以使用以下脚本来限制用户在 IE 的 textarea 中输入最大字符数。
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) {
alert('Maximum length exceeded: ' + len);
this.value = this.value.substr(0, len);
return false;
}
}
txts[i].onkeyup = func;
txts[i].onblur = func;
}
}
}
你的 textarea 可以像:
<textarea maxlength="10"></textarea>
maxlength 属性在 HTML 4.01 中不是标准的。虽然它是在 HTML5 中定义的,但我猜 IE 没有实现它。要使其适用于所有浏览器,您可以使用 javascript。这是一个例子。请检查一下它可能对你有帮助..谢谢
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) {
alert('Maximum length exceeded: ' + len);
this.value = this.value.substr(0, len);
return false;
}
}
txts[i].onkeyup = func;
txts[i].onblur = func;
}
}
}
约束用户自己打字实际上是没有用的。除非您不测试到达服务器的长度(您确实应该),否则这不会有任何区别。
我赞同 Kolink 所说的,不要试图限制用户打字,但你可以告诉他它的输入不会被接受,因为它超出了。