这是我的 html刀片代码
{{Form::checkbox('remember_me', '', array('id'=>'remember_id'))}}
<label for="remember_id">Remember me</label>
这是我的控制器代码:
echo Input::get('remember_me');exit;
结果总是空的,为什么请?
我在运行页面时始终会选中此复选框,为什么还要?
由于
答案 0 :(得分:5)
请查看[{1}}方法的[参数列表] [1]。
第二个参数是您的复选框值。您手动将其设置为空字符串。将其设置为Form::checkbox()
以保持浏览器的默认值(laravel默认值为1)。第三个参数是布尔值。将其设置为true以选中该复选框,将其设置为false以取消选中该复选框。
第四个参数是您的选项数组,您可以在其中指定您的ID。所以正确的方法调用应该是:
null
<强>更新强>
未经检查的复选框将不会包含在您的POST数据中。因此,验证复选框已被检查的唯一可靠方法是检查它是否已设置。这可以使用常规PHP函数的{{Form::checkbox('remember_me', null, false, array('id'=>'remember_id'))}}
来完成,或者如果正在使用laravel,则使用isset()
,它返回一个取决于输入数据是否包含给定键的布尔值。
答案 1 :(得分:1)
您没有为复选框添加值
{{Form::checkbox('remember_me', 'value goes here', true, array('id'=>'remember_id'))}}
第二个参数是值
答案 2 :(得分:0)
通常情况下,我会写一个没有刀片的复选框,我可以随心所欲地使用它,就像普通的HTML一样。我不明白为什么你可以用普通的HTML方式做到这一点,因为它总是最终做你专家的事情。
答案 3 :(得分:0)
{!! Form::label('Test-2') !!} {!! Form::checkbox('ch[]', 'value-2', false); !!}