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
コメントが承認されるまで時間がかかります。