[Laravel] 戻るボタンの実装方法

概要

Laravelで戻るボタンを実装する場合、url()->previous()を使うと簡単に実装することができる。

サンプル

<a href="{{ url()->previous() }}">戻る</a>

javascript:history.back()を使う、route()ヘルパ関数を使ってroute('item.index')のようにルートを指定する、など様々な実装方法があると思うが、url()->previous()が最も簡単であると思われる。

フォーム画面の場合

フォーム送信でバリデーションエラーがあった場合、再度フォーム画面が表示されるため、戻るボタンの遷移先をurl()->previous()とすると再度フォーム画面が表示されてしまう。

以下のようにoldヘルパ関数を使ってフォームの中に遷移先をtype=”hidden”のinput要素で埋め込み、フォームのPOST送信に遷移先を含める必要がある。
<input type="hidden" name="back_url" value={{ old('back_url', url()->previous()) }}>
この場合、戻るボタンは以下のようになる。
<a href="{{ old('back_url', url()->previous()) }}">戻る</a>

コメント

タイトルとURLをコピーしました