CakePHP中具有相同名称的多个复选框

时间:2010-03-19 06:57:38

标签: cakephp

我正在创建多个具有相同名称的复选框,我需要知道在提交表单时如何获取数组的值?我正在使用CakePHP

<?php
e($form->create('Report', array('action' => 'add')));
for ($i = 0; $i < count($data); $i++) {
    ?>
    <div class="left"><?php echo $data[$i]['ReportTitle']['title'] ?></div>
    <div class="left" style="width:500px;">&nbsp;</div>
    <?php
    for ($j = 0; $j < count($data[$i]['ReportStatement']); $j++) {
        ?><div class="left" style="width:50px; margin-left:50px; float:left;"><input  type="checkbox" name="Report" value="<?php echo $data[$i]['ReportStatement'][$j]['id'] ?>" id="Report" /></div><div class="right" style=" width:600px;  float:left;"><?php echo $data[$i]['ReportStatement'][$j]['statement'] ?></div>
        <?php
    }
}
?>

2 个答案:

答案 0 :(得分:0)

是的,您可以使用相同的名称创建任何元素(文本框,复选框...),为此您必须创建该元素的数组。 cakephp提供了一种更好的方法,

e.g。 $ form-&gt;复选框('Model.0.fieldname,array());      $ form-&gt;复选框('Model.1.fieldname,array());      $ form-&gt;复选框('Model.2.fieldname,array()); &安培;等等......

您可以创建任意数量的元素。作为输出,它将为您提供'fieldname'

的数组

请检查一下,我在我的项目中使用这种类型的复选框。

答案 1 :(得分:0)

我没有使用过CakePHP,所以我不知道它的代码风格,但你的HTML中确实不应该有多个具有相同ID的对象。 CookBook可能会对您有所帮助。