Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > symfony1
symfony1 Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 13/05/2012, 23h55   #1
duke666
Membre à l'essai
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 24
Points : 24
Par défaut sfWidgetFormSelect: recuperer la valeur et non l'indice

.... une liste déroulante :
'valeur' => new sfWidgetFormSelect(array(
'choices' => array('A', 'B', 'C'),
'default' => '0'
)),
...


sur la page web:
je selectionne le 2ème élement de la liste déroulante. "B"


dans l'action :
$values = $this->dataForm->getValues();
$values['valeur'] me donne l'indice 1, je voudrais avoir "B"
comment faire ?
duke666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2012, 23h10   #2
nlefebvre1
Futur Membre du Club
 
nicolas lefebvre
Inscription : mai 2010
Messages : 72
Détails du profil
Informations personnelles :
Nom : nicolas lefebvre

Informations forums :
Inscription : mai 2010
Messages : 72
Points : 18
Points : 18
je pense que si tu fais
Code :
1
2
3
'valeur' => new sfWidgetFormSelect(array(
'choices' => array('A'=>'A', 'B'=>'B', 'C'=>'C')
)),
sa devrai marcher
nlefebvre1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2012, 13h21   #3
duke666
Membre à l'essai
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 24
Points : 24
ah oui c'est pas bête

merci !!
duke666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/12/2012, 11h07   #4
a-sana
Membre du Club
 
Femme sana
Inscription : février 2010
Messages : 105
Détails du profil
Informations personnelles :
Nom : Femme sana
Localisation : Tunisie

Informations forums :
Inscription : février 2010
Messages : 105
Points : 43
Points : 43
Bonjour!

Est ce que je peux savoir où vous avez crée le champ 'valeur'?

J'ai un problème pareil mais dans mon cas j'ai crée la liste déroulante comme suit
Code :
$this->widgetSchema['devises_id'] = new sfWidgetFormChoice(array('choices' => array('TND' => 'dinar tunisien', 'EUR' => 'euro')));
ceci dans lib/form/docrine/CommonForm.class.php

puis après pour afficher la liste dans mon interface, j'ai écrit
Code :
<?php echo $invoiceForm['devises_id']->renderRow()?>
dans modules/invoices/templates/editSucces.php

Maintenant, je dois tester sur la valeur sélectionnée de ma liste déroulante
si dinar tunisien alors $currency='TND'
si euro alors $currency='EUR'

Ceci doit être dans modules/common/actions/actions.class.php

Avez vous une idée à propos?

Merci d'avance!!
a-sana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2013, 16h57   #5
gototog
Membre éprouvé
 
Homme Renaud B
Inscription : septembre 2009
Messages : 361
Détails du profil
Informations personnelles :
Nom : Homme Renaud B
Âge : 23
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : septembre 2009
Messages : 361
Points : 483
Points : 483
Bonjour, c'est encore moi

D'après ton code, ta valeur seras bien renvoyé.

dans ton action executeUpdate (car c'est lors de la soumission du formulaire)

Code :
1
2
3
4
public function executeUpdate(sfWebRequest $request) {
    // On récupère les valeurs
    $values = $request->getParameter('nomDeTonForm');
    var_dump($values['devises_id']);exit;//on vérifie que le champs séléctionné de ta liste déroulante est bien dans cette variable, si c'est bien le cas, supprime la ligne
ici, nomDeTonForm est le nom que tu trouvera dans form/base/baseXXXXX. ca devrait etre une ligne de la sorte:
Code :
$this->widgetSchema->setNameFormat('NomDuFormulaire[%s]'); //on garde le nom avant [%s]
gototog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h21.


 
 
 
 
Partenaires

Hébergement Web