laravel读取控制器中的复选框值

Ana*_*ent 0 php laravel blade laravel-4

这是我的html刀片代码

{{Form::checkbox('remember_me', '', array('id'=>'remember_id'))}}
        <label for="remember_id">Remember me</label>
Run Code Online (Sandbox Code Playgroud)

这是我的控制器代码:

 echo Input::get('remember_me');exit;
Run Code Online (Sandbox Code Playgroud)
  1. 结果总是空的,为什么好吗?

  2. 我运行页面时总会检查复选框,为什么好吗?

谢谢

thp*_*hpl 5

请查看[ Form::checkbox()方法的参数列表] [1].

第二个参数是您的复选框值.您手动将其设置为空字符串.将其设置null为以保持浏览器的默认值(laravel默认值为1).第三个参数是布尔值.将其设置为true以选中该框,将false设置为取消选中.

第四个参数是您的选项数组,您可以在其中指定您的ID.所以正确的方法调用应该是:

{{Form::checkbox('remember_me', null, false, array('id'=>'remember_id'))}} 
Run Code Online (Sandbox Code Playgroud)

更新:

未选中的复选框将不包含在POST数据中.因此,验证复选框已被检查的唯一可靠方法是检查它是否已设置.这可以使用isset()常规PHP函数来完成,或者如果正在使用laravel,则使用Input::has()返回一个布尔值,该布尔值取决于您的输入数据是否包含给定键.