2009-05-20 16 views
13

私のフォームのtextarea:maxlenght => 40を適用しようとしました。 しかし、うまくいかなかった。 テキストエリアに長さ制限はありますか?Ruby on Railsのテキストエリアの最大長

テキストエリアのコードが

<%= f.text_area :data, 
       :rows => 2, 
       :cols => 60 , 
       :maxlength => 140, 
       :autocomplete => :off, 
       :class => "textareabytes" %> 

答えて

4

それはタイプミスが原因だろうか?

":maxlenght =>あなたの投稿の40分は誤っています。

EDIT:

私はあなたのポストをよく読んでいませんでした。私はHTMLにtextareaのmaxlength属性はないと思う。 JavaScriptで処理する必要があります。 "MaxLength on a Textarea"に詳しい情報があります。

+0

イム申し訳ありません 私はそれが –

+0

ここで間違って行くがない他のため、編集済みの質問 –

+0

のthnxバディ にご覧くださいつづらコード で、実際にその正しい..... Iこれを実装するためのjavascript関数を書きました.... –

13

Rahulのように、textareaにはmaxlengthという属性はありません。 textinputしか持っていません。

覚えておく必要があることは、RoRのtext_area関数(およびすべてのRoRのHTMLジェネレータ関数)が引数を受け入れることです。彼らがパラメータを認識しなかった場合、the'llは単にそれをHTMLに変換します。

<%=f.text_area :data, :hellothere => "hello to you too"%> 

ウィル出力このHTML:

<textarea name="data" hellothere="hello to you too"></textarea> 

私はそれを覚えておくのは難しいけど、Ruby on Railsには魔法ではない、それはちょうどあなたのために多くのことを行います。そのトリックは、どのように動作するのかを知ることで、なぜ動作するのか、また動作しない場合にどのように修正するのかを理解することができます。

+4

HTML5の 'textarea'Sinceの' maxlength'属性があります。残念ながら、これはIE 10ではサポートされていません。[詳細はこちら](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea)を参照してください。 –

+1

+1「覚えがたいですがRuby on Railsは魔法ではありません」 – 0112

+2

HTML5のmaxlengthに関するソース: http://www.w3schools.com/tags/att_textarea_maxlength.asp https:// developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#Attributes – 0112

0

ない厳密にどのようなあなたはもちろんの後にしている、しかし、あなたは常に置くことができます:あなたのモデルに

validates_length_of :data, max: 40 

を。もちろん:)のテキストエリアのサイズを停止することはありません