【问题标题】:Laravel Redirect based on radio button selection基于单选按钮选择的 Laravel 重定向
【发布时间】:2020-06-28 18:34:32
【问题描述】:

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

这是一个使用会话的多页表单。数据与表单的最后一页一起存储。我正在关注本教程: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>

【问题讨论】:

  • 试试这个 => if($request-&gt;is_employed == 1) { return redirect('/products/create-step2'); } else { return redirect('/products/create-step3'); }
  • 谢谢@ab.in,工作完美

标签: php laravel redirect laravel-form


【解决方案1】:

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

}

【讨论】:

    【解决方案2】:

    尝试使用:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-09
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多