Checkbox 处理Laravel4中复选框的最佳方法?
我开始和Laravel4一起工作,我一直在努力解决一些基本的问题,比如下面这个。除了像下面这样为默认值添加隐藏复选框之外,还有其他方法处理未标记复选框的值吗Checkbox 处理Laravel4中复选框的最佳方法?,checkbox,laravel,laravel-4,Checkbox,Laravel,Laravel 4,我开始和Laravel4一起工作,我一直在努力解决一些基本的问题,比如下面这个。除了像下面这样为默认值添加隐藏复选框之外,还有其他方法处理未标记复选框的值吗 <td class="text-center"> {{Form::hidden('status', 0)}} {{Form::checkbox('status')}} </td> {{Form::hidden('status',0)} {{Form::checkbox('status')} 现在
<td class="text-center">
{{Form::hidden('status', 0)}}
{{Form::checkbox('status')}}
</td>
{{Form::hidden('status',0)}
{{Form::checkbox('status')}
现在这对我来说很好,但我想知道是否有更好的方法来处理Controller@update.
编辑:表单上复选框的值在更新操作时由Input::all()处理
感谢您的反馈。这实际上是HTML的默认行为,与Laravel如何处理输入无关。发件人: 提交表单时,只有“打开”复选框控件才能成功 每个成功的控件都将其控件名与其当前值配对,作为提交表单数据集的一部分 因此,更通用的方法不是更改HTML表单,而是在检索输入时更改行为,例如:
$status = Input::get('status', false);
在FormBuilder类中,checkbox方法具有以下参数
checkbox(string $name, mixed $value = 1, bool $checked = null, array $options = array())
所以你想要:
Form::checkbox('status', 0, false, ['class' => 'form-control'])
快乐编码 如果您正在执行一个:$input=array_except(input::all(),“_method”);为了获取表单值并将这些值发送到更新,有没有办法从输入中获取所有值,但如果这些值不存在,则设置一些默认值?啊,这是个好问题。最有可能超出我的知识范围,因为我从未遇到过我需要的情况(我总是避免大规模作业)。不过,值得一提的是你刚才在原始问题中所说的。谢谢,你对HTML规范的引用还有其他帮助。谢谢你的回复。这里发生的事情是@Unnawut在下面提到的:提交表单时,只有“开”复选框控件才能成功。因此,如果我设置了您提到的复选框,并且没有选中,即使有默认值,该复选框也不会列在Input::all数组中。哦,是的,在这种情况下,下面回答的unawut将是正确的答案。输入::get('status',false);