laravelでお問い合わせフォームの入力画面、確認画面、完了画面の3つに分けて作成しています。
確認画面で戻るボタンを実装する上でonClick=history.back()
を使わず確認画面から入力項目へ入力値を保持した状態での遷移をform
タグで表現する方法を教えて頂きたいです。
web.php
PHP
1Route::get('/contacts/input', 'ContactController@getInput'); 2Route::post('/contacts/input', 'ContactController@postIndex'); 3Route::get('/contacts/confirm', 'ContactController@confirm')->name('confirm');
confirm.blade.php
HTML
1<form action="/contacts/input" method="POST" novalidate> 2 {{csrf_field()}} 3 <input type="hidden" value={{$contact_class}}> 4 <input type="hidden" value={{$name}}> 5 <input type="hidden" value={{$kana}}> 6 <input type="hidden" value={{$tel}}> 7 <input type="hidden" value={{$email}}> 8 <input type="hidden" value={{$order_id}}> 9 <input type="hidden" value={{$contact_contents}}> 10 <input type="submit" class="p-contact-confirm-back-button c-button p-glayGradationD" value="戻る"> 11 </form> 12 <form action="/contacts/complete" method="POST" novalidate> 13 {{csrf_field()}} 14 <input type="submit" class="p-contact-confirm-submit-button c-button p-orangeGradationA" value="送信する"> 15 </form>
ContactController.php
PHP
1入力画面表示メソッド(省略) 2・ 3・ 4・ 5 public function postIndex(ContactRequest $request) 6 { 7 $request->session()->flash('contact_class', $request->input('contact_class')); 8 $request->session()->flash('name', $request->input('name')); 9 $request->session()->flash('kana', $request->input('kana')); 10 $request->session()->flash('tel', $request->input('tel')); 11 $request->session()->flash('email', $request->input('email')); 12 $request->session()->flash('order_id', $request->input('order_id')); 13 $request->session()->flash('contact_contents', $request->input('contact_contents')); 14 $request->session()->flash('submit', $request->input('submit')); 15 16 return redirect()->route('confirm'); 17 } 18 19 public function confirm(Request $request) 20 { 21 return view('app.contact.confirm') 22 ->with([ 23 'contact_class' => $request->session()->get('contact_class'), 24 'name' => $request->session()->get('name'), 25 'kana' => $request->session()->get('kana'), 26 'tel' => $request->session()->get('tel'), 27 'email' => $request->session()->get('email'), 28 'order_id' => $request->session()->get('order_id'), 29 'contact_contents' => $request->session()->get('contact_contents'), 30 'submit' => $request->session()->get('submit'), 31 ]); 32 } 33・ 34・ 35・ 36完了画面表示メソッド(省略)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。