Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-05-2009 16:28:01

fatahou
Membre
Lieu: La Rochelle - France
Date d'inscription: 23-04-2009
Messages: 31

[résolu]récuperer laValeur du paramètre 'value' d'unComboBox do/dijit?

Bonjour à tous,
je souhaiterais récupérer la valeur du paramètre 'value' d'un formulaire Dojo.

Voici comment je récupère le champ saisi par le formulaire dans mon contrôleur:

Code:

$familleProduit=$this->_getParam('familleProduitSelect',0);
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Voici le code du formulaire où je renseigne mon combobox:

Code:

            $lstFamilleProduit = new Zend_Dojo_Form_Element_ComboBox('familleProduitSelect');
            $lstFamilleProduit->setLabel('Produit: ')
                              ->setAutoComplete(true)
                              ->setStoreId('familleStore')
                              ->setStoreType('dojo.data.ItemFileReadStore')
                                          ->setStoreParams(array('url'=>'/extranet/consulterincident/listefamilleproduit', 'jsId'=>'familleStore'))
                                          ->setAttrib("searchAttr", "libelle")
                                          ->setOptions(array('id'=>'familleProduitSelect', 'name'=>'familleProduit'));              
             $lstFamilleProduit->setAttrib('onChange','majListeTypeProduit();');
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Cette liste est valorisée par un contrôleur qui génère du code JSON, voilà son contenu:

Code:

{"identifier":"id","items":[
{"id":"1","libelle":"Alerte"},
{"id":"2","libelle":"Informatique"},
{"id":"3","libelle":"Logiciel"},
{"id":"4","libelle":"Radio"},
{"id":"5","libelle":"Energie"},
{"id":"6","libelle":"Infrastructure"},
{"id":"7","libelle":"Mesure"}
],"label":"libelle"}
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Je m'intéresse au champ "id" pour la méthode _getParam() du contrôleur au lieu du champ "libelle". Mais "libelle" doit rester affiché dans le formulaire.

Comment dois-je faire?

Merci pour vos réponses.

Dernière modification par fatahou (22-05-2009 08:55:59)

Hors ligne

 

#2 20-05-2009 17:28:57

ledahu
Membre
Date d'inscription: 13-03-2008
Messages: 69

Re: [résolu]récuperer laValeur du paramètre 'value' d'unComboBox do/dijit?

Salut,

Je me suis fait avoir aussi avec le même problème pourtant c'est dans la doc.
Il ne faut pas utiliser combobox mais filteringselect.

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).

Hors ligne

 

#3 22-05-2009 08:08:16

fatahou
Membre
Lieu: La Rochelle - France
Date d'inscription: 23-04-2009
Messages: 31

Re: [résolu]récuperer laValeur du paramètre 'value' d'unComboBox do/dijit?

Merci pour l'info ledahu.
Le problème avec le FilteringSelect c'est que une valeur est requise pour valider le formulaire par défaut. J'ai donc tenté d'enlever cette contrainte mais je n'y arrive pas, comment fait t'on?

En regardant le code source du formulaire j'ai:

Code:

 aria-required="true"
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

j'ai tenté sans succès sur le FilteringSelect dans mon Zend_Form

Code:

$familleProduit->setAttrib("aria-required","false");
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Code:

->setRequired(false);
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Ne fonctionne pas non plus sad

Comment fait t'on pour récupérer l'ID de mes filteringSelects dans le code ZF?

Dernière modification par fatahou (22-05-2009 08:18:38)

Hors ligne

 

#4 22-05-2009 08:55:18

fatahou
Membre
Lieu: La Rochelle - France
Date d'inscription: 23-04-2009
Messages: 31

Re: [résolu]récuperer laValeur du paramètre 'value' d'unComboBox do/dijit?

Salut,
Pour rendre un FilteringSelect Dijit optionnel il faut faire:

Code:

$monObjetFilteringSelect->setAttrib("required", "false");
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Et pour le numéro d'id il est sélectionné par $this->_getParam('familleProduitSelect',0); automatiquement dans le contrôleur ZF. Selon ce que l'on a specifié dans le formulaire ZF bien sure:

Code:

->setOptions(array('id'=>'familleProduitSelect', 'name'=>'familleProduit'));
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Mille mercis pour avoir éclairé ma lanterne, je sens que je vais passer une bonne journée de codage smile

Dernière modification par fatahou (22-05-2009 08:56:47)

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