2012-04-06 53 views
3
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> 

不确定隐藏字段来自哪里。 感谢cakephp复选框显示额外隐藏字段

回答

5

这是一个情况下蛋糕后备你不选中该复选框,并张贴的形式,以便验证在跳。 在这种情况下,PHP不会为这个领域提交任何东西(甚至没有一个空串)。因此蛋糕找到了一个聪明的解决方法来克服这个问题。

与单选按钮btw类似的事情。

+0

当我点击提交时,它只是添加最后一个复选框。我认为这可能是因为这个。 – Autolycus 2012-04-06 22:34:44

4

即使有一个隐藏的领域,我们可以把它禁用,当我们提交表单,所以它不会在提交的数据显示.. 您需要在下面的方式来写..

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)); 
+0

但最有可能打破工作流程。我不会推荐。 – mark 2013-03-12 13:21:11