ユーザ用ツール

サイト用ツール


プログラム言語:php:laravel:フォーム:formファサードを使った書き方

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
プログラム言語:php:laravel:フォーム:formファサードを使った書き方 [2021/05/28 11:47]
humolife [未整理:そのうち書く]
プログラム言語:php:laravel:フォーム:formファサードを使った書き方 [2022/07/21 18:56] (現在)
humolife [セレクトボックス]
行 1: 行 1:
 ====== 【Laravel】Form ファサードを使った書き方 ====== ====== 【Laravel】Form ファサードを使った書き方 ======
-blade テンプレートでの Form ファサードを使った書き方。\\ +blade テンプレートでの Form ファサードを使った書き方。 
-参考 http://recipes.laravel.jp/category/17+  * [[https://laravelcollective.com/docs/6.x/html|ドキュメント]]
 ==== フォームタグ ==== ==== フォームタグ ====
-<code>+<code:php>
 # 基本の書き方 # 基本の書き方
 {{ Form::open() }} {{ Form::open() }}
行 13: 行 13:
 # ルーティング指定 # ルーティング指定
 {{ Form::open(['route' => 'home.index']) }} {{ Form::open(['route' => 'home.index']) }}
 +{{ Form::open(['route' => ['home.index', $user]]) }}
  
 # コントローラ指定 # コントローラ指定
行 24: 行 25:
 </code> </code>
  
-==== 未整理:そのうち書く ==== +==== テキスト、テキストエリア ==== 
-<code>+  * 第1引数:名前 
 +  * 第2引数:値 
 +  * 第3引数:属性を配列形式で指定(key が属性、value が属性値) 
 +<code:php>
 # テキスト # テキスト
-{{ Form::text('name', null, ['class' => 'cssクラス名']) }}+{{ Form::text('name') }} 
 +{{ Form::text('title', null, ['class' => 'cssクラス名']) }}
  
 # テキストエリア # テキストエリア
 +{{ Form::textarea('explain') }}
 {{ Form::textarea('note', null, ['class' => 'cssクラス名', 'rows' => '5']) }} {{ Form::textarea('note', null, ['class' => 'cssクラス名', 'rows' => '5']) }}
 +</code>
 +==== セレクトボックス ====
 +  * 第1引数:名前
 +  * 第2引数:プルダウンの内容を配列形式で指定(key が option の value、value が表示タイトル)
 +  * 第3引数:selected にする値
 +  * 第4引数:select タグの属性を配列形式で指定(key が属性、value が属性値)
 +  * 第5引数:option タグの属性を配列形式で指定
 +<code:php>
 +{{ Form::select('pref', $pref_list) }}
 +{{ Form::select('area', [1 => '東日本', 2 => '西日本'], 1, ['class' => 'cssクラス名']) }}
 +</code>
 +option タグに属性を指定したい場合の方法が公式ドキュメントに見つからず苦労しました。\\
 +ドキュメントには見当たりませんでしたが、以下のように第5引数を指定することで、option タグに各種属性を持たせることができます。
 +<code:php>
 +$types = [
 +    1 => 'TYPE A',
 +    2 => 'TYPE B',
 +    3 => 'TYPE C',
 +];
  
-# セレクトボックス +$options = [ 
-{{ Form::select('pref', $pref_list, null, ['class' => 'cssクラス名']) }} +    1 => ['disabled=> true], 
-{{ Form::select('area', ['東日本', '西日本'], null, ['class' => 'cssクラス名']) }}+    3 => ['style' => 'color:#f00']
 +];
  
 +{{ Form::select('type', $types, $type ?? null, ['placeholder' => '-'], $options) }}
 +</code>
 +
 +==== チェックボックス、ラジオボタン ====
 +  * 第1引数:名前
 +  * 第2引数:値
 +  * 第3引数:true(checked)、もしくは false / null
 +  * 第4引数:属性を配列形式で指定(key が属性、value が属性値)
 +<code:html>
 # チェックボックス # チェックボックス
-{{ Form::checkbox('hobby[]', '映画', null, ['class' => 'cssクラス名']) }}+<label>{{ Form::checkbox('hobby[]', 'movie') }}映画</label> 
 +<label>{{ Form::checkbox('hobby[]', 'sport', true, ['class' => 'cssクラス名']) }}スポーツ</label> 
 + 
 +# ラジオボタン 
 +<label>{{ Form::radio('gender', 1, true) }}男性</label> 
 +<label>{{ Form::radio('gender', 2, null, ['class' => 'cssクラス名']) }}女性</label>
 </code> </code>
プログラム言語/php/laravel/フォーム/formファサードを使った書き方.1622170069.txt.gz · 最終更新: 2021/05/28 11:47 by humolife