Bonjour à tous,
J'ai un petit problème avec une combobox je souhaite récupérer l'id réel du libelle que je selectionne.
par exemple ma combobox :
Role :
------------
| Membre |
| Admin |
| Visiteur |
-----------
j'ai pour mes libellés un Id bien spécifique par exemple :
Id Libelle
6 Membre
15 Admin
19 Visiteur
sauf que lorsque j'essai de récuper cet id il ne sagit pas de l'id de mon libelle mais l'id de la combobox : en gros j'aurais quelque chose du genre :
Id Libelle
0 Membre
1 Admin
2 Visiteur
Voici le code de mon formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 <?php class Application_Form_Inscription extends Zend_Form { public function __construct($options = null) { parent::__construct($options); //liste tous ce qu'on récupère de la table status pour le placer dans la combobox $i = 0; foreach ($options as $st[]){ $idStatus[] = $st[$i]['IDSTATUS']; $libelleStatus[] = $st[$i]['LIBELLESTATUS']; $i = $i +1; } $this->setName('inscription'); $id = new Zend_Form_Element_Hidden('id'); $login = new Zend_Form_Element_Text("username"); $login->setLabel('Utilisateur : ') // on rend le champs obligatoire ->setRequired(true) // supprime le HTML non désiré ->addFilter('StripTags') // supprime les espaces ->addFilter('StringTrim') //on interdit les saisis vides ->addValidator('NotEmpty'); $mdp = new Zend_Form_Element_Password('password'); $mdp->setLabel('Mot de passe : ') // on rend le champs obligatoire ->setRequired(true) // supprime le HTML non désiré ->addFilter('StripTags') // supprime les espaces ->addFilter('StringTrim') //on interdit les saisis vides ->addValidator('NotEmpty'); $role = new Zend_Form_Element_Select("role"); $role->setLabel('Role : ') ->setRequired(true) ->setValue($idStatus) ->setMultiOptions($libelleStatus); //$role = $role->getValue(); $envoyer = new Zend_Form_Element_Submit('inscrire'); $envoyer->setAttrib('id', 'boutoninscrire'); $this->addElements(array($login, $mdp, $role, $envoyer)); } }
Et voici comment je récupère mes valeurs (dans le controlleur) :
Est ce que vous auriez une idée de comment récupérer ces Id "réels"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if ($form->isValid($formData)) { //si le formulaire est valide, on instancie la classe inscriptions //avec les valeurs du formulaire $login = $form->getValue('username'); $mdp = $form->getValue('password'); $idRole = $form->getValue('role'); ...}
Partager