将复选框值提交给Controller

时间:2018-01-05 07:55:03

标签: laravel laravel-5

我有以下表格,我想提交给我的后端。

<form id="revisionFilter" action="{{ route('revision.filter') }}" method='POST'>
  <input class="form-check-input" type="checkbox" value="" id="checkbox1">
  <label class="form-check-label" for="checkbox1">
                                    1
                                </label>
  <input class="form-check-input" type="checkbox" value="" id="checkbox0">
  <label class="form-check-label" for="checkbox0">
                                    0
                                </label>
  <label class="form-check-label" for="checkboxNull">
                                <input class="form-check-input" type="checkbox" value="" id="defaultCheck1">
                                <label class="form-check-label" for="checkboxNull">
                                    Null
                                </label>
  <input type="hidden" name='_method' value='POST'>
  <input id="revisionFilterSubmit" type="submit" class='btn btn-danger btn-sm' value='Filter'>
</form>

我的后端如下所示:

路线:

Route::post('/revision/filter', 'RevisionController@filter')->name('revision.filter');

RevisionController:

public function filter(Request $request)
{
    Log::info("Request: ");
    Log::info($request);

    return redirect()->route('revision.rindex');
}

我的问题是,当我按下按钮时,我将被重定向到:

The page has expired due to inactivity. 

Please refresh and try again.

相反,我希望看到带有复选框值的请求,以实现数据库保存功能。

感谢您的回复!

2 个答案:

答案 0 :(得分:2)

因为我已经发表了评论。我会把答案放在答案框中。

要回答您,您没有获得任何复选框值,因为您的复选框没有任何name属性。

您需要为其添加name属性。如,

<input class="form-check-input" type="checkbox" value="" name="checkbox0" id="checkbox0">

从那里,您现在应该可以通过其名称查看复选框的值。

答案 1 :(得分:0)

只需将相同的名称添加到您的复选框中即可。例如

 <input class="form-check-input" type="checkbox" value="" id="checkbox1" name="revisionFilter">
 <input class="form-check-input" type="checkbox" value="" id="checkbox2" name="revisionFilter">