Laravelでform内に複数のボタンを設置方法をメモ。
サンプルコード
各ボタンにname属性をつけることで、ボタンごとに処理を分けられます。
app\Http\routes.php
Route::get('/form', 'FormController@getIndex'); Route::post('/form', 'FormController@postIndex');
app\Http\Controllers\FormController.php
<?php namespace App\Http\Controllers; use Request; class FormController extends Controller { public function getIndex() { return view('form.index'); } public function postIndex() { if(Request::input('next1')) { return '登録済の住所を使う場合'; } elseif(Request::input('next2')) { return '住所を入力した場合'; } } }
resources\views\form\index.blade.php
{!! Form::open() !!} <p>住所を入力してください。</p> {!! Form::submit('登録済の住所を使う', array('name' => 'next1')) !!} <dl> <dt>{!! Form::label('address', '住所:') !!}</dt> <dd> {!! Form::text('address', null) !!} </dd> </dl> {!! Form::submit('次へ', array('name' => 'next2')) !!} {!! Form::close() !!}
post前の画面です。
post後はボタン毎で表示内容を切り替えることができました。
【参考サイト】
- LaravelのFormで複数Submitボタンを設置したいときのハンドリング方法 – Qiita
- Forms & HTML – Laravel – The PHP Framework For Web Artisans
コメントが承認されるまで時間がかかります。