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>

隠しフィールドがどこから来ているのかわからない。ありがとう

4

2 に答える 2

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));
于 2013-03-12T12:32:04.037 に答える
5

これは、チェックボックスを選択せず​​にフォームを投稿して検証を開始しない場合の簡単なフォールバックです。この場合、php はこのフィールドに何も送信しません (空の文字列でさえも)。したがって、cake はこの問題を克服するための賢明な回避策を見つけました。

ところで、ラジオボタンと同様のこと。

于 2012-04-06T22:25:40.693 に答える