0

如何根据选定的单选按钮重定向用户?

这是一个使用会话的多页表单。数据与表单的最后一页一起存储。我正在关注本教程:https ://www.5balloons.info/multi-page-step-form-in-laravel-with-validation/

我希望它这样做:如果选中“是”,如果选中“否”,则转到下一页,跳过下一页并转到后面的页面。

<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>
4

2 回答 2

0

尝试使用:

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

或者

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

在你应该在 web.php 中定义之前命名这条路线

于 2020-03-17T17:01:04.373 回答
0

您可以简单地在控制器操作中使用一些开关或 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);

}
于 2020-03-17T16:58:00.450 回答