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 :
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).
je me dit que je suis mal barré pour faire ca proprement.

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 :
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
	            }
	        }
	    });
cad que je passe par le mapping dojo pour lire le form

et la lecture :
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;
et le code du form en lui meme :
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