【问题标题】:Form with two submit buttons laravel 6带有两个提交按钮的表单 laravel 6
【发布时间】:2020-03-20 16:09:25
【问题描述】:

我想为我的表单使用两个提交按钮,第一个是保存并将您重定向到主页,第二个是保存并将您再次重定向到同一个表单,我使用公共函数存储来保存它, 这是我的表格

   <form method="post" action="{{route('return.store')}}" enctype="multipart/form-data">
   <div class="form-group">
   <button type="submit" class="btn btn-md" name="submit">Verstuur</button>
   </div>
   </form>

还有我的控制器

public function store(Request $request)
    {
        $this->validate($request, [
            'image' => 'image|nullable|max:1999'
        ]);

        if ($request->hasFile('image')) {
            $filenameWithExt = $request->file('image')->getClientOriginalExtension();
            $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
            $extension = $request->file('image')->getClientOriginalExtension();
            $fileNameToStore = $filename . '_' . Carbon::today()->toDateString() . '.' . $extension;
            $request->file('image')->storeAs('public/images', $fileNameToStore);
        } else {
            $fileNameToStore = 'noimage.jpg';
        }

        $retour = new Retour();

        $retour->firmaname = request('firmaname');
        $retour->contactperson = request('contactperson');
        $retour->email = request('email');
        $retour->ordernumber = 653 .request('ordernumber');
        $retour->articlenumber = request('articlenumber');
        $retour->return_quantity = request('return_quantity');
        $retour->return_quality = request('return_quality');
        $retour->return_reason = request('return_reason');
        $retour->images = $fileNameToStore;

        $retour->save();

        return redirect('/return')->with('message', 'Je retourmelding is succesvol verzonden');
    }

【问题讨论】:

标签: laravel forms button controller submit


【解决方案1】:

您必须通过提交按钮名称来处理请求。

<form method="post" action="{{route('return.store')}}" enctype="multipart/form-data">
    <div class="form-group">
         <button type="submit" class="btn btn-md" name="submit">Verstuur</button>
    </div>
    <div class="form-group">
         <button type="submit" class="btn btn-md" name="return">return</button>
    </div>
 </form>

然后在控制器中:

if($request->submit){
    return view('Homepage')->with('message', 'Saved');
} else {
     return redirect('/return')->with('message', 'Je retourmelding is succesvol verzonden');

}

【讨论】:

    【解决方案2】:

    您可以在提交按钮中使用具有不同值的name 属性,然后根据该值执行预期的操作:

    <form method="post" action="{{route('return.store')}}" enctype="multipart/form-data">
        <button type="submit" name="action" value="homepage">Save</button>
        <button type="submit" name="action" value="same_form">Save</button>
    </form>
    

    在控制器中,你可以这样做,

    public function store(Request $request)
    {
        if($request->action == 'homepage'){
             return redirect('homepageurl');
        }    
        if($request->action == 'same_form'){
             return redirect()->back();
        }
    }
    

    如果您卡在任何地方,请查看此content

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 2014-05-10
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      • 2017-04-12
      • 1970-01-01
      相关资源
      最近更新 更多