以下のコードでセレクトボックスで値を変更した直後にchangeOneAnswer()メソッドを実行したいのですが、
changeOneAnswer()が実行されません。(echoで実行されていないことを確認しました)
コードでどこか原因がありましたらご教示いただけたら幸いです。
値の変更直後、ブラウザは再描画されサブミットされている感じはするのですが、
何も変化はありません。
【開発環境】
Xampp
Laravel Framework 6.16.0
PHP 7.4.1
View
1<form method="POST" action="{{ route('changeOneAnswer') }}" id="one_answer_form"> 2 <select onchange="submit(this.form)" name="one_answer" id="one_answer"> 3 @foreach(\App\Enums\Answer::toSelectArray() as $k => $v) 4 <option value="{{ $v }}" {{ mb_strtolower($user->one_answer) == $v ? 'selected' : '' }}>{{ ($k) }}</option> 5 @endforeach 6 </select> 7</form>
Controller
1 public function changeOneAnswer($one_answer) 2 { 3 $user = Auth::user(); 4 $aa = Aassociation::find($user->aa_id); 5 $user->one_answer = one_answer; 6 $user->save(); 7 return view('home',['user' => $user, 'aa' => $aa]); 8 }
Route
1Route::group(['middleware' => 'auth:user'], function() { 2 Route::post('home/changeOne', 'HomeController@changeOneAnswer')->name('changeOneAnswer'); 3});
回答2件
あなたの回答
tips
プレビュー