Несколько флажков с тем же именем в CakePHP - PullRequest
0 голосов
/ 19 марта 2010

Я создаю несколько флажков с одним и тем же именем, и мне нужно знать, как я могу получить значение массива при отправке формы? Я использую 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 голосов
/ 07 мая 2010

Я не использовал CakePHP, поэтому я не знаю, это стиль кода, но на самом деле в вашем HTML не должно быть более одного объекта с одинаковым идентификатором. CookBook может помочь вам.

0 голосов
/ 07 мая 2010

Да, вы можете создать любой элемент (текстовое поле, флажок ...) с тем же именем, для этого вам нужно создать массив этого элемента. CakePHP дает лучший способ сделать это,

например. $ form-> checkbox ('Model.0.fieldname, array ()); $ form-> checkbox ('Model.1.fieldname, array ()); $ form-> checkbox ('Model.2.fieldname, array ()); и так далее ...

Вы можете создать любое количество элементов. В качестве вывода он даст вам массив 'fieldname'

Пожалуйста, проверьте это, я использую этот тип флажков в моем проекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...