Javascript HTML的最大长度<;textarea>;

Javascript HTML的最大长度<;textarea>;,javascript,html,cross-browser,textarea,Javascript,Html,Cross Browser,Textarea,如何限制HTML中可以输入的最大字符数?我正在寻找跨浏览器解决方案。标签的TEXTAREA属性与 INPUTtag有,至少在大多数标准浏览器中没有。限制TEXTAREA标记中可以键入的字符数的一种非常简单有效的方法是: <textarea onKeyPress="return ( this.value.length < 50 );"></textarea> 同样,onPaste事件和clipboardData对象仅为IE 5+对象。对于跨浏览器解决方案,您只需使用

如何限制HTML
中可以输入的最大字符数?我正在寻找跨浏览器解决方案。

标签的
TEXTAREA
属性与
INPUT
tag有,至少在大多数标准浏览器中没有。限制
TEXTAREA
标记中可以键入的字符数的一种非常简单有效的方法是:

<textarea onKeyPress="return ( this.value.length < 50 );"></textarea>
同样,
onPaste
事件和
clipboardData
对象仅为IE 5+对象。对于跨浏览器解决方案,您只需使用
OnChange
OnBlur
处理程序来检查长度,并根据需要进行处理(以静默方式截断值,通知用户等)。不幸的是,只有当用户试图离开该字段时,它才捕捉到正在发生的错误,这不是很友好

此外,这里还有另一种方法,包括您可以在页面中包含的完成脚本:

HTML5现在允许

除IE外,所有浏览器都支持它
参考

请注意,上面写的onKeyPress功能将在达到字符限制后阻止在文本区域输入任何文本——不能删除任何字符。一个更强大的代码片段将允许用户达到最大限制,然后退格删除字符以使文本低于限制。也许这只是我和我糟糕的算术,但我的印象是,当在文本区域中使用新行时,IE和FF在
maxlength
方面的行为与Chrome不同。与
\r\n
\n
问题有关(当文本包含换行符时)。。。从我的经验来看,
maxlength
在Windows上显然无法跨浏览器工作。。。但这里并没有什么新东西,只是老毛病的HTML/JS东西…@erdomester它正在受支持的浏览器上工作。您可以在我提供的w3c链接中进行测试。我已经尝试过了,即使我使用了maxlength=“500px”,它也可以工作。但是,当我发布该评论时,您提供的链接处于非活动状态,并且显示的页面(我猜)显示了与现在显示的页面不同的其他属性。该链接不是指向W3C的,而是W3C学校,它以发布错误信息而闻名。@Toby是的,您是对的。我应该在评论中说得更清楚些。不幸的是,我看不到编辑注释的选项。您可能想知道,在使用maxlength时,换行符的计数可能会有所不同,具体取决于浏览器。请查看以了解更多详细信息。
<textarea onKeyPress="return ( this.value.length < 50 );"
onPaste="return (( this.value.length +
window.clipboardData.getData('Text').length) < 50 );"></textarea>
$(function(){  
  $("#id").keypress(function() {  
    var maxlen = 100;
if ($(this).val().length > maxlen) {  
  return false;
}  
})
});