Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Form
Zend_Form Forum d'entraide pour le composant Zend_Form du Zend Framework (création de formulaires, helpers, AJAX etc.). Avant de poster -> FAQ Zend_Form.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/12/2010, 19h17   #1
Nouveau Membre du Club
 
Inscription : mars 2009
Messages : 90
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 90
Points : 34
Points : 34
Par défaut liste chargée d'une BD, valeurs perdues si rechargement Form

Bonjour à Tous,

J'ai une liste dans ma Zend_Form que je remplis de la BD.
Problème: lorsque un champs n'est pas remplit, je fais un
Code :
$form->populate($formData);
Et là ==> plus rien dans liste !

Logique puisque mes valeurs ne sont pas passées "en dur" dans le code de la FORM, mais à travers une fonction :
Code :
1
2
3
4
5
private $liste; // liste est un attribut de la classe
 
public function setListValues($tableau){
		$this->liste->setMultiOptions($tableau);
 }
PS: 'liste' est un attribut de la classe.

Comment faire ?
Merci
NeoGeoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 09h27   #2
Membre confirmé
 
Patrick Barroca
Inscription : mai 2008
Messages : 178
Détails du profil
Informations personnelles :
Nom : Patrick Barroca

Informations forums :
Inscription : mai 2008
Messages : 178
Points : 204
Points : 204
Hello,

Au cas où ce ne soit pas très clair, le populate() d'un forme tente de setter les valeurs des inputs.
Pour un champ texte c'est le texte dans le champ, pour un select c'est la value de l'option sélectionnée et en aucun cas la liste des options possibles.

Ceci étant dit, ton problème viens surement de l'endroit où est appelé ton setListValues().
Pourrais-tu nous éclairer sur ce point ?
patbator est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 10h39   #3
Nouveau Membre du Club
 
Inscription : mars 2009
Messages : 90
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 90
Points : 34
Points : 34
Citation:
Envoyé par patbator Voir le message
Hello,

Au cas où ce ne soit pas très clair, le populate() d'un forme tente de setter les valeurs des inputs.
Pour un champ texte c'est le texte dans le champ, pour un select c'est la value de l'option sélectionnée et en aucun cas la liste des options possibles.
Et bien je te remercie. Je n'avais pas bien saisi en effet la nuance. Du coup maintenant je réaffecte le liste de valeurs dans mon bloc else également comme ceci :
Code :
1
2
3
4
5
6
7
else {
	$loc = new geoloc(); // J'ai rajouté ces 3 lignes pour affecter un tableau
	$tab_poi = $loc->getPoiProches(); //à la liste, je ne faisais cela que dans mon traitement "normal",
	$form->setListValues($tab_poi);  // je l'ai rajouté ici pour remplir les champs au cas ou il faut réafficher la form
 
	$form->populate($formData);
}
Erreur de débutant, bon à savoir.

NeoGeoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h05.


 
 
 
 
Partenaires

Hébergement Web