Laravel のForm に、複数ボタンを設置する方法
Laravel の1つのForm 中に、複数の Submitボタンを設置する方法を調べました。
プログラム(三択問題:santaku_mondai)の Form で、説明します。
Laravel 自体の操作については、チュートリアル(参考記事【1】)を、ご参照ください。
図.1 は、三択問題:santaku_mondai の解答画面です。

画面上に、複数の Submitボタンがあります。
- 解答ボタン(1,2,3)
- リセットボタン(reset)
1.ルート(routes)
- /www/var/santaku_mondai/routes/web.php
Route::post('/',  'QuestionsController@judge')->name('judge');
2.ビュー(views)
- /www/var/program_name/resources/views/questions/home.blade.php
<form name="input_form" method="post" action="/"> @csrf <input class="btn btn-primary" type="submit" name="first" value="1"> <input class="btn btn-primary" type="submit" name="second" value="2"> <input class="btn btn-primary" type="submit" name="third" value="3"> </form> <form name="input_form_1" method="post" action="/"> @csrf <input class="btn btn-warning" type="submit" name="reset" value="reset"> </form>
3.コントローラー(Controllers)
- /www/var/program_name/app/Http/Controllers/QuestionsController.php
<?php
namespace App\Http\Controllers;
//use Illuminate\Http\Request;
use Request;
class QuestionsController extends Controller
{
    public function judge() {
        if (Request::get('reset')) {
            リセット処理
        }
        if (Request::get('first')) {
            1が選択されたときの処理
        } elseif (Request::get('second')) {
            2が選択されたときの処理
        } elseif (Request::get('third')) {
            3が選択されたときの処理
    }
参考記事
Laravel
【1】ララ帳:はじめての LARAVEL 5.6
Google検索「blade ボタン処理」
【2】2016.05.06:Qiita:LaravelのFormで複数Submitボタンを設置したいときのハンドリング方法
【3】2016.08.29:cly7796.net:Laravelでform内に複数のボタンを設置する
Google検索「laravel form button 複数」
【4】2018.04.16:teratail:Laravelで複数の入力画面から値を取得する場合のバリデーションの実装方法
Google検索「Non-static method Illuminate\Http\Request::get() should not be called statically」
- Laravel Request::get で、エラー
【5】2016.06.24:Qiita:laravelのRequestのrequest::all();でエラーが出た場合の対処メモ

 
			
 
							 
							