Bonjour,
je met en place un formulaire Zend_Dojo_Form.
plus par besoin de mise en page que par besoin, j'essaie de mettre en place un ComboBox.
Mon probleme etant documenté ainsi :
je me dit que je suis mal barré pour faire ca proprement.ComboBoxes return the label values
ComboBoxes return the label values, and not the option values, which can lead to a disconnect in expectations. For this reason, ComboBoxes do not auto-register an InArray validator (though FilteringSelects do).
Donc, quelqu'un a-t-il deja rencontré ce pb, et a-t-il une solution?
a svoir : nativement, avec un comboBox, on recoit le label, et non la valeur, SAUF si javascript est desactivé coté client...
arghh!!
sachant que mon submit se fait ainsi :
cad que je passe par le mapping dojo pour lire le form
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 dojo.xhrGet({ url: e.target.action+"/format/json", form: theForm, handleAs: "json", handle: function(data,args){ if(typeof data == "error") { //erreur } else { // traitement de la reponse } } });
et la lecture :
et le code du form en lui meme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $form = $this->_getFormRecheche(); if ($form->isValid($_GET)) { $values = $form->getValues(); //traitement du resultat, avec, dans value, le libelle du combox et non sa valeur. } $this->view->form = $form;
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 class Search extends Zend_Dojo_Form { public function init() { $this->setMethod('get'); $this->addElement('ComboBox', 'CodeSelection', array( 'label' => 'code selection (optionnel)', 'required' => false, 'autocomplete' => true, 'multiOptions' => array( '571' => 'CODE571', '901' => 'CODE901' ) )); //[...] } }
ainsi, si je choisit : "CODE571" le formulaire, lors du getValues, retourne "CODE571" et non "571"
merci d'avance![]()
Partager