J'espère que c'est une question rapide à répondre. Je développe un formulaire en utilisant Zend_Form
, j'ai un certain nombre de Zend_Dojo_Form_Element_Textboxs
pour ajouter à ce formulaire dynamiquement.dynamicalement ajouter des zones de texte à zend_form
Elles sont ajoutées à partir des lignes de la base de données, par ex.
$count = 0;
//we now loop through the skill types and add them to the form.
foreach($skillResult as $skill){
$skillTextBox = new Zend_Dojo_Form_Element_ValidationTextBox('skill-'.$count,
array('trim' => true,
'NotEmpty' => true,
'invalidMessage' => 'This can not be blank'
)
);
$skillTextBox->addValidator('NotEmpty')
->removeDecorator('DtDdWrapper')
->removeDecorator('HtmlTag')
->removeDecorator('Label');
//add the element to the form.
$myForm->addElement($skillTextBox);
$count++;
}
Le formulaire est ensuite affiché dans un script de vue, que j'ai cependant besoin d'extraire. Comme je ne sais pas combien de zones de texte 'compétence' existent dans le formulaire, je ne suis pas sûr de savoir comment je peux passer en boucle et les ajouter au script de vue. Je regarderais normalement à les ajouter à la viewScript de la manière suivante:
<?php foreach($this->element->getElement('skill') as skill) :?>
<tr>
<td><?php echo $skill;?></td>
</tr>
<?php endforeach;?>
Cependant, je reçois un message d'erreur de Warning: Invalid argument supplied for foreach()
Vais-je sur ce d'une manière rétrograde et changer mon approche de cette forme ou suis-je manquant quelque chose ici?
Merci à l'avance ...