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

时间:2014-06-25 08:46:34

标签: php laravel laravel-4 blade

这是我的 html刀片代码

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

这是我的控制器代码:

 echo Input::get('remember_me');exit;
  1. 结果总是空的,为什么请?

  2. 我在运行页面时始终会选中此复选框,为什么还要?

  3. 由于

4 个答案:

答案 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); !!}