Laravel Перенаправление на основе выбора переключателя - PullRequest
0 голосов
/ 17 марта 2020

Как я могу перенаправить пользователя на основе выбранной радиокнопки?

Это многостраничная форма, использующая сеансы. Данные сохраняются вместе с последней страницей формы. Я слежу за этим уроком: https://www.5balloons.info/multi-page-step-form-in-laravel-with-validation/

Я хочу, чтобы он сделал это: Если отмечено «да», go на следующую страницу, если отмечено «нет», пропустите следующее страницы и go на одну после.

<form action="/form/update-step4" method="post">
      @csrf
      <div class="form-group">
      <label class="radio-inline"><input type="radio" name="is_employed" value="1" {{{ (isset($user->is_employed) && $user->is_employed == '1') ? "checked" : "" }}}> Yes</label>

       <label class="radio-inline"><input type="radio" name="is_employed" value="0" {{{ (isset($user->is_employed) && $user->is_employed == '0') ? "checked" : "" }}} checked> No</label>
       </div>
       @if ($errors->any())
        <div class="alert alert-danger">
            <ul>
            @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
            @endforeach
            </ul>
        </div>
       @endif

<button type="submit" class="btn btn-primary">Continue</button>
</form>

Ответы [ 2 ]

0 голосов
/ 17 марта 2020

Попробуйте использовать:

return redirect('products/create-step2');

или

redirect()->route('product.createStep2');

до того, как вы определите в Интернете. php назовите этот маршрут

0 голосов
/ 17 марта 2020

Вы можете просто использовать некоторые переключатели или if / else в действиях контроллера для определения URL перенаправления на основе выбранных флажков - что-то вроде этого:

public function postCreateStep2(Request $request)
{
    /**-------some logic------**/
    if ($request->some_checkbox_1 === 1) {
        $route = '/products/create-step3';
    } else if ($request->some_checkbox_2 == 1 && $request->some_checkbox_3 != 1) {
        $route = '/products/create-step4';
        if ($request->some_checkbox_5 == 1) {
            $route = '/products/create-step5';
        }
    }
    /** 
     * etc... 
     * same with route or GET params
     **/
    return redirect($route);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...