【问题标题】:Laravel 5.3 form submit does nothingLaravel 5.3 表单提交什么也不做
【发布时间】:2023-08-08 19:57:01
【问题描述】:

在我的 Laravel 5.3 表单中,当我单击提交按钮时没有任何反应,它不会将我重定向到任何地方,只是重新加载同一页面。

我的路线是这样的:

Route::group(['middleware' => 'auth'], function () {

  Route::post('/delete-product', [

        'uses' => 'UserController@deleteProduct',
        'as' => 'delete.product',

    ]);
}

还有我的表格:

<form method="POST" class="form-horizontal" role="form" action="{{ route('delete.product') }}">
{{ csrf_field() }}
   <input id="user_id" name="user_id" type="hidden" value="{{$product->id}}">
   <input id="amount" type="number" class="form-control" name="amount" value="1"> 
   <button type="submit" class="btn btn-danger pull-right list-element__btn btn-  edit" role="button">
      Delete
  </button>
</form>

【问题讨论】:

  • deleteProduct 函数长什么样子?
  • 公共函数 deleteProduct(Requests\ProductRequest $request){ die; $product = Product::find($request->input('user_id')); $deleteAmount = $request->input('amount'); $product->amount =- $deleteAmount;返回重定向(路由('欢迎')); }
  • 所以你可以看到它甚至没有到达那里

标签: php forms laravel-5.3


【解决方案1】:

好吧,我想通了,它对方法接受的请求参数没有任何影响:Requests\ProductRequest $request 但我仍然不知道发生这种情况的原因,有什么想法吗?

我的控制器方法如下所示:

public function deleteProduct(Requests\ProductRequest $request){


        $product = Product::find($request->input('user_id'));
        $deleteAmount = $request->input('amount');
        $product->amount =- $deleteAmount;

        return redirect( route( 'welcome' ) );
    }

【讨论】:

    【解决方案2】:

    对于像我这样愚蠢的人,请检查您请求的表单数据,它可能无法通过验证规则,因此它会重定向回来。在刀片文件中,您可以使用哑元 $errors 来查看失败的消息。

    【讨论】: