テキストエリアを作成する


forms

 悩み事

Bladeテンプレートでテキストエリアを作成したい

 解決方法

Form::textarea()メソッドを利用します

一番簡単な方法は、フィールド名のみを指定します

{{Form::textarea('notes')}}

以下の様なHTMLが作成されます

<textarea name="notes" cols="50" rows="10"></textarea>

Notice デフォルトで colsrows は上記の様になります

value を指定したい場合は第二引数で指定します

{{Form::textarea('notes', '3 < 4')}}

値がエスケープされます

<textarea name="notes" cols="50" rows="10">3 &amp;lt; 4</textarea>

属性を追加する場合は、第三引数に配列を利用します

{{Form::textarea('notes', null, ['class' => 'field'])}}

フィールドにclassが追加されます

<textarea class="field" name="notes" cols="50" rows="10"></textarea>

 アドバイス

ドキュメントにはありませんが、"size"属性を利用する事が出来ます

"size"を利用する場合は、"30x5"という形で利用しますが、
最初の数字(30)で列数を指定し、2番目の数字は行を指定した形式でなければなりません

{{ Form::textarea('notes', null, ['size' => '30x5']) }}

次の様に出力されます

<textarea name="notes" cols="30" rows="5"></textarea>

または"rows", "cols"を第三引数で指定して利用する事も可能です

{{Form::textarea('notes', 'hoge', ['rows' => 1,'cols' => 1])}}
<textarea rows="1" cols="1" name="notes">hoge</textarea>

Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa