Ruby on Rails中textarea的最大长度

13 textarea ruby-on-rails

我尝试在表单:maxlenght上的textarea上应用=> 40 .但它没有成功.我们可以对textarea有长度限制吗?

文本区域的代码是

<%= f.text_area :data,
                :rows => 2,
                :cols => 60 ,
                :maxlength => 140,
                :autocomplete => :off,
                :class => "textareabytes" %>
Run Code Online (Sandbox Code Playgroud)

Sha*_*mer 13

就像Rahul说的那样,HTML中没有maxlength属性textarea.只有text input那样.

你需要记住的是,RoR的text_area函数(以及RoR的所有HTML生成器函数)都接受你给它们的任何参数.如果他们没有识别参数,那么只需将其转换为HTML.

<%=f.text_area :data, :hellothere => "hello to you too"%>
Run Code Online (Sandbox Code Playgroud)

将输出此HTML:

<textarea name="data" hellothere="hello to you too"></textarea>
Run Code Online (Sandbox Code Playgroud)

我知道这很难记住,但Ruby on Rails并不神奇,它只为你做了很多事情.诀窍是知道它是如何做到的,所以你可以理解它们的工作原理,以及如何解决它们的问题!

  • 对于`textarea`since HTML5,有一个`maxlength`属性.不幸的是,在10之前的IE中不支持它.有关[完整详细信息](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea),请参阅MDN. (4认同)
  • HTML5最大长度的来源:http://www.w3schools.com/tags/att_textarea_maxlength.asp https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#Attributes (2认同)

Rah*_*hul 4

会不会是由于拼写错误造成的?

您帖子中的“:maxlenght => 40”拼写错误。

编辑:

我没有仔细读你的帖子。我认为 HTML 中的 textarea 没有 maxlength 属性。你必须用 JavaScript 来处理它。“文本区域的 MaxLength ”中有更多信息。