在 Html Textarea 中设置最大长度

新手上路,请多包涵

如何在 maxlength 中设置 textarea ?为什么 maxlengthtextarea 不能正常工作?

原文由 Hitesh Prajapati 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 858
2 个回答

在 HTML5 之前,我们有一个简单但可行的方法:首先在 textarea 元素中设置一个 maxlength 属性:

 <textarea maxlength='250' name=''></textarea>

然后使用 JavaScript 来限制用户输入:

 $(function() {
    $("textarea[maxlength]").bind('input propertychange', function() {
        var maxLength = $(this).attr('maxlength');
        if ($(this).val().length > maxLength) {
            $(this).val($(this).val().substring(0, maxLength));
        }
    })
});

确保绑定“ input ”和“ propertychange ”事件以使其在各种浏览器(如 Firefox/Safari 和 IE)上工作。

原文由 aqingsao 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您使用的是 HTML 5,则需要在 DOCTYPE 声明中指定。

对于有效的 HTML 5 文档,它应该以:

 <!DOCTYPE html>


在 HTML 5 之前, textarea 元素没有 maxlength 属性。

您可以在 DTD/spec 中看到这一点:

 <!ELEMENT TEXTAREA - - (#PCDATA)       -- multi-line text field -->
<!ATTLIST TEXTAREA
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #IMPLIED
  rows        NUMBER         #REQUIRED
  cols        NUMBER         #REQUIRED
  disabled    (disabled)     #IMPLIED  -- unavailable in this context --
  readonly    (readonly)     #IMPLIED
  tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
  accesskey   %Character;    #IMPLIED  -- accessibility key character --
  onfocus     %Script;       #IMPLIED  -- the element got the focus --
  onblur      %Script;       #IMPLIED  -- the element lost the focus --
  onselect    %Script;       #IMPLIED  -- some text was selected --
  onchange    %Script;       #IMPLIED  -- the element value was changed --
  %reserved;                           -- reserved for possible future use --
  >

为了限制键入 textarea 的字符数,您需要将 javascript 与 onChange 事件一起使用。然后您可以计算字符数并禁止进一步键入。

是关于文本输入以及如何使用服务器和客户端脚本来限制大小的深入讨论。

是另一个示例。

原文由 Oded 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题