ラジオボタンを作成する


forms

 悩み事

Bladeテンプレートでラジオボタンを作成したい

 解決方法

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

第一引数でフィールド名を必ず指定しなければなりません

{{Form::radio('single')}}

これは下記の様に出力されます

<input name="single" type="radio" value="single">

ラジオボタンはいくつか同じフィールド名を利用しますので、
フィールド名に同じものを指定し、valueを第二引数で指定します

{{Form::radio('sex', '男性')}}<br />
{{Form::radio('sex', '女性')}}

男性か女性を選択するラジオボタンが作成されます

<input name="sex" type="radio" value="男性"><br />
<input name="sex" type="radio" value="女性">

デフォルトでチェックされた状態にする場合は、第三引数にtrueを指定します

{{Form::radio('sex', '男性')}}<br>
{{Form::radio('sex', '女性', true)}}

2つ目のラジオボタンにchecked属性を追加します

<input name="sex" type="radio" value="男性"><br>
<input checked="checked" name="sex" type="radio" value="女性">

最後に、属性を追加するには第四引数に配列を利用します

{{Form::radio('example', 1, true, ['class' => 'field'])}}

属性classが追加されます

<input class="field" checked="checked" name="example" type="radio" value="1">

 アドバイス

自動的にフォームのセッションデータに基づいて、利用可能なデータがあれば該当するボタンをチェックされた状態にします

バリデートエラーなどでフォームを再表示する場合には、
ラジオボタンフィールドにはユーザーが以前に選択した値が保持されて利用されます

フォームにモデルをバインドして作成している場合は、モデルのデータから値を利用します
モデルをベースにしたフォームを作成する も参照して下さい


Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa