【发布时间】:2021-08-25 14:53:16
【问题描述】:
我试图获取是否选中了复选框:
在我看来:
<form data-toggle="validator" data-disable="false" role="form" action="/admin/role/add" method="post">
<div class="checkbox checkbox-success">
<input name="test" id="test" type="checkbox" value="test">
<label for="test" style="padding-left: 15px!important;">test</label>
</div>
</form>
<form data-toggle="validator" data-disable="false" role="form" action="/admin/role/add" method="post">
{{ csrf_field() }}
<div class="form-group pull-right">
<button type="submit" class="btn btn-danger">Submit</button>
</div>
</form>
在我的控制器中:
public function createRole(Request $request)
{
if($request->has('test')) {
new \App\Debug\Firephp('test', ['test' => true]);
}
}
在我的web.php:
Route::post('/admin/role/add', 'AdminController@createRole')
但由于某种原因不起作用。
我该怎么办?
感谢回复。
编辑 1:
这是我的表单构建不佳。
【问题讨论】:
-
我认为您的表单没有被发布?你已经在你的控制器中引用了外观?我发现类型提示 Request 在这些情况下更适合我。
-
是的,我使用 POST 方法@Kurucu
-
这应该可以工作,也可以试试
if( Input::has('test'))。当然,如果你使用的是 Laravel 5,那么使用 Request::input('test');或类型提示是前进的方向:laravel.com/docs/5.0/requests -
$request->has('test') 对我不起作用@Kurucu
-
在下面查看我的答案,看看如何 - 你需要一个特殊的函数定义。