cakephp复选框显示额外的隐藏字段

时间:2012-04-06 22:22:46

标签: cakephp cakephp-1.3 cakephp-2.0

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>

不确定隐藏字段的来源。 感谢

2 个答案:

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