我开始使用Laravel4,我正在努力解决下面的一些基本问题。除了为默认值添加隐藏的复选框之外,还有其他方法可以处理未标记复选框的值吗?
<td class="text-center">
{{Form::hidden('status', 0)}}
{{Form::checkbox('status')}}
</td>
这对我来说现在很好用,但我想知道是否有更好的方法来处理Controller @ update中的值。
编辑:表单上的复选框的值由Update操作中的Input :: all()处理。
感谢您的反馈。
答案 0 :(得分:0)
这实际上是HTML的默认行为,与Laravel处理输入的方式无关。来自HTML spec:
提交表单时,只有&#34; on&#34;复选框控件可以成功。
...
每个成功的控件都将其控件名称与其当前值配对,作为提交的表单数据集的一部分。
因此,更通用的方法不是更改HTML表单,而是在检索输入时更改行为,例如:
$status = Input::get('status', false);
答案 1 :(得分:0)
在FormBuilder类中,checkbox方法具有这些参数。
checkbox(string $name, mixed $value = 1, bool $checked = null, array $options = array())
所以你想要:
Form::checkbox('status', 0, false, ['class' => 'form-control'])
快乐的编码!