2012-04-06 50 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