Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-11-2009 16:35:03

nicompte
Nouveau membre
Date d'inscription: 22-11-2009
Messages: 1

[] dans le nom d'un input

Bonjour, j'ai créé un formulaire assez simple, comme ceci :

Code:

$questionForm = new Zend_Form_Element_Radio('question[]');
            $questionForm->setRequired(true)
                            ->setLabel($question->ennonce)
                           ->setMultiOptions($arr);

Je souhaite donc repéter ce code plusieurs fois, d'où le nom question[].

Mais malheureusement, Zend me supprime mes "[]", et donc j'obtiens le nom "question" en html.

Existe-t-il une solution ?


Merci.

Hors ligne

 

#2 23-11-2009 09:41:52

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [] dans le nom d'un input

Ce comportement est normal. Les noms sont filtrés pour être valide.
Les [ ] sont générés par les helpers selon le type des éléments : un bouton radio ne peut contenir qu'une seul valeur.

Hors ligne

 

#3 23-11-2009 10:10:32

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [] dans le nom d'un input

Si tu voulais plusieurs valeurs, c'est des checkbox qu'il faut utiliser


----
Gruiiik !

Hors ligne

 

#4 23-11-2009 17:46:17

Intiilapa
Membre
Date d'inscription: 03-02-2009
Messages: 95

Re: [] dans le nom d'un input

Tu as la méthode setIsArray() sur les classes dérivées de Zend_Form_Element pour qu'il ajoute les crochets dans l'attribut name quand il génère le formulaire HTML. Après, il faut savoir si tu abordes le problème de la bonne manière comme le disent Mr.MoOx et nORKy ^^

J'émettrai une remarque quand même sur le filtre Zend pour l'attribut name ... il va un peu trop loin pour avoir des noms valides en filtrant le caractère - par exemple ...

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages