Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Hier soir j'ai voulu utiliser ces composants.
Le problème que je rencontre avec l'élément Select est que je n'arrive pas à l'initialiser avec une valeur par défaut. Le seul paramètre que j'ai trouvé est celui permettant l'initialisation : addMultiOptions. Est-ce que j'ai mal vue ? Y'a t'il un moyen de charger la liste select en appelant directement la méthode du Helper ?
Autre souhait : lorsque je passe un tableau [options], si je voudrais ajouter des attributs aux options, je fais comment (une classe) ?
Avec le Checkbox le problème est le suivant : lorsque je valide le formulaire, s'il y'a une erreur, le populate ne me remet pas la valeur par défaut. J'ai cherché une solution mais pas moyen. Si vous connaissez la réponse à ce problème, je suis preneur.
Merci
Dernière modification par whitespirit (25-04-2008 08:01:21)
Hors ligne
tu as essayer de rajouter un setValue a ton element pour lui attribuer une valeur ?
Hors ligne
Avec le Checkbox le problème est le suivant : lorsque je valide le formulaire, s'il y'a une erreur, le populate ne me remet pas la valeur par défaut. J'ai cherché une solution mais pas moyen. Si vous connaissez la réponse à ce problème, je suis preneur.
C'est étrange chez moi les valeurs sont bien conservé automatiquement (une fois isValid() d'appellé avec les données il me semble)
Hors ligne
je fais comme ca :
$formData = $this->_request->getPost(); if ($form->isValid($formData)) { } else { $errors = $form->getMessages(); } $form->populate($formData);
et pas de problèmes.
Hors ligne
Voilà comment sont paramétrés mes checkbox, peut-être que j'ai absusé :
$is_visible = new Zend_Form_Element_Checkbox('IS_VISIBLE'); $is_visible->setLabel('Le locataire est visible'); $is_visible->setAttrib('id','opt_visible'); $is_visible->setCheckedValue('oui'); $is_visible->setUncheckedValue('non'); $is_visible->setChecked('oui'); $is_visible->addPrefixPath('Formulaires_Decorators', 'formulaires/decorators','decorator'); $is_visible->setDisableLoadDefaultDecorators(false); $is_visible->addDecorator('Composite');
Dernière modification par whitespirit (25-04-2008 09:52:47)
Hors ligne
Pourrais-je voir comment vous configurez un Input_Checkbox dans votre Zend_Form, et comme vous l'initialisez dans une vue ou controlleur ? Moi j'ai beau tourné dans tous les sens, j'essaie toutes les combinaisons depuis plus d'une heure (et il est déjà 00h33 chez moi), rien à faire, je ne trouve pas.
Concernant le <select> vous arrivez à l'initialiser avec <option selected> ?
Hors ligne
Quand tu utilises Zend_Form, c'est setValue qu'il faut utiliser
Sinon, avec juste l'aide de vue formSelect(), c'est le 2eme paramètre qui permet de le spécifier
Hors ligne
Salut whitespirit,
Je suis dans le même cas que toi (impossible de récupérer l'option sélectionnée avec un "populate()"). D'après ce que j'ai pu lire, il faudrait utiliser "setValue(...)" mais ça donne rien. Je sais pas si depuis le temps, tu as résolu ton problème mais la solution me serait bien utile.
Merci.
Hors ligne
J'ai eut une révélation, comme ma "value" est un numérique, je devais la caster dans le populate et maintenant ça fonctionne.
Hors ligne
Hello,
Pour un Checkbox :
$chk->setChecked(true or false) => active ou désactive
$chk->setCheckedValue('oui') => par défaut c'est '1' (string)
$chk->setUncheckedValue('non') => par défaut c'est '0' (string)
Avec setValue(), vous devez utiliser vos set(Unc|C)heckedValue :
$chk->setValue('oui') ou $chk->setValue('non')
A+
Hors ligne