2010-03-19 8 views
0

Je crée plusieurs cases à cocher avec le même nom et j'ai besoin de savoir comment je peux obtenir la valeur de la matrice lorsque je soumets le formulaire? J'utilise CakePHPPlusieurs cases à cocher avec le même nom dans 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 
    } 
} 
?> 

Répondre

0

Oui, vous pouvez créer un tout élément (zone de texte, case à cocher ...) avec le même nom, pour cela, vous devez créer un tableau de ce elelment. cakephp donne un meilleur moyen de le faire,

par exemple. $ form-> checkbox ('Model.0.fieldname, array()); $ form-> checkbox ('Model.1.fieldname, array()); $ form-> checkbox ('Model.2.fieldname, array()); & ainsi de suite ....

Vous pouvez créer n'importe quel nombre d'éléments. En sortie, il vous donnera le tableau du 'fieldname'

S'il vous plaît vérifier cela, j'utilise ce type de cases à cocher dans mon projet.

0

Je n'ai pas utilisé CakePHP donc je ne connais pas son style de code, mais vous ne devriez pas avoir plus d'un objet dans votre code HTML avec le même ID. Le CookBook pourrait vous aider.