Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'ai toujours un problème avec l'utilisation des checkboxs. Lorsque je valide mon formulaire, si un élément checkbox est coché, je reçois dans le post le nom de l'élément input est "0". Par contre si le checkbox n'est pas coché, je ne reçois rien dans le post, l'élément n'apparait pas dans le Post. J'ai du mal à voir ce qui me pose problème. je ne crois pas que ça vienne des formulaires car je fais un Zend_Debug::dump($formData) juste après les avoir récupéré par getParams(). Je précise que l'élément input checkbox est bien créer en html et contient tous les attributs nécessaires (name, value, checked si c'est le cas). Autre précision, j'ai ce pb que pour les checkbox.
Conscient de la difficulté à identifier le problème, je souhaiterai avoir votre avis : à quel niveau se trouve le problème ? Formulaire ? getParams ? ... ? helper checkbox ?
Merci de votre aide.
Dernière modification par whitespirit (04-05-2008 19:06:11)
Hors ligne
Il n'y a pas de problèmes. C'est comme ca. c'est tout
Si ton checkbox est coché, ca envoit la paire name => value
si il n'est pas coché, ca n'envoi rien
Hors ligne
Ha bon ? Avant je récupérais bien le nom de la variable et 1 ou 0 je crois...
Mais lorsque je test si le formulaire est valide, ZF ne devrait pas remplir pour moi ce champs ?
Je viens de tester avec isset de la manière suivante :
$is_visible = isset(trim($filter->filter($this->_request->getPost('IS_VISIBLE'))));
et je récupère l'erreur suivante : Fatal error: Can't use method return value in write context
Dernière modification par whitespirit (02-05-2008 12:52:50)
Hors ligne
Comme dis plus haut, cela n'a rien avoir avec Zend_Form, c'est comme ça que les checkboxs fonctionnent!
L'erreur que tu obtiens provient de ta syntax. C'est une erreur reflétant une mauvaise utilisation du langage... J'te laisse trouver...
Hors ligne
Je ne trouve pas l'erreur. D'après ce que j'ai lu, isset attend un paramètre et non pas une chaine de caractère. Je ne vois pas comment, avec la méthode param() récupérer le POST[''] en tant que valeur ? Pourrais-tu me donner la bonne syntaxe svp, j'ai retourné mon code dans tous les sens, mais j'ai toujours l'erreur.
Par contre, je pense vraiment avoir une erreur dans mon code au sujet des checkboxs, car les populate() ne mette pas leur valeur par défaut. Ce n'est pas normal non ?
Hors ligne
Pfff. J'ai enfin réussi après avoir passé des heures et des heures. Honte à moi ! En fait, j'avais recréé un élément de type Checkbox. J'ai vachement galéré car j'ai mis en place plusieurs chose en même temps concernant les formulaires, checkbox, helper, etc. Pour tester si je récupère bien la valeur, il faut simplement : $this->_request->has('IS_VISIBLE'), qui fait un isset.
Hors ligne
Pages: 1