foreach($apps as $app){
echo $this->Form->input('Application', array('type'=>'checkbox', 'id'=>$app['Application']['description'], 'div'=>false,'type'=>'checkbox','value' => $app['Application']['description'],'label'=>$app['Application']['description']));
}
<div class="checkboxes">
<input type="hidden" name="data[Group][Application]" id="GG_" value="0"/><input type="checkbox" name="data[Group][Application]" id="GG" value="GG"/><label for="GG">GG</label><input type="hidden" name="data[Group][Application]" id="BS_" value="0"/><input type="checkbox" name="data[Group][Application]" id="BS" value="BS"/><label for="BS">BS</label> <div>
</div>
<input type="hidden" name="data[Group][Grant]" id="GroupGrant_" value="0"/><input type="checkbox" name="data[Group][Grant]" style="float: left; display: inline" value="Edit Weather" id="GroupGrant"/><label for="GroupGrant">Edit Weather</label><input type="hidden" name="data[Group][Grant]" id="GroupGrant_" value="0"/><input type="checkbox" name="data[Group][Grant]" style="float: left; display: inline" value="Edit Traffic" id="GroupGrant"/><label for="GroupGrant">Edit </label>
</div>
不确定隐藏字段的来源。 感谢
答案 0 :(得分:5)
如果您没有选中复选框并发布表单以便验证跳转,这是一个蛋糕后备。 在这种情况下,php不会为此字段提交任何内容(甚至不是空字符串)。因此,蛋糕找到了一个明智的解决方法来解决这个问题。
与单选按钮btw相似。
答案 1 :(得分:5)
即使存在隐藏字段,我们也可以在提交表单时将其禁用,以便它不会出现在提交的数据中。 你需要用以下方式写作..
echo $this->Form->input('Application', array('type'=>'checkbox', 'id'=>$app['Application']['description'], 'div'=>false,'type'=>'checkbox','value' => $app['Application']['description'],'label'=>$app['Application']['description'],'hiddenField'=>false));