Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-09-2010 14:10:02

jean
Membre
Date d'inscription: 25-08-2008
Messages: 107

[ZF 1.10] Comment modifier la valeur d'un form ?

Comme tout ce qui est simple, j'ai du mal à trouver la solution.


        // la form contient 3 champs : champA champB et total.
        // je veux saisir dans champA et champB et afficher la somme dans total...
 

Code:

  Code du controlleur

        $form1 = new App_Forms_Test(); // champA, champB, total et un bouton submit

        (....)

        // les données sont POST et VALIDES
        $_champA= $this->_getParam("champA");
        $_champB= $this->_getParam("champB");

        $_total = $_champA + $_champB ; 

        Comment insérer le résultat $_total dans la form ?
        //$form1->total = $_total ;

        $this->view->form1 = $form1;
        // Note : le populate est automatique. Faut-il faire un populate manuel ?

Merci par avance,

Jean

Hors ligne

 

#2 01-09-2010 15:24:14

Dede
Membre
Date d'inscription: 26-06-2009
Messages: 99

Re: [ZF 1.10] Comment modifier la valeur d'un form ?

Bonjour,
Avec les methodes getElement() et setValue() de Zend_Form

Code:

$form1->getElement('total')->setValue($total);

« Il ne faut pas lier un navire à une seule ancre, ni une vie à un seul espoir. »
Epictète
http://www.noumcreation.com

Hors ligne

 

#3 01-09-2010 17:01:34

jean
Membre
Date d'inscription: 25-08-2008
Messages: 107

Re: [ZF 1.10] Comment modifier la valeur d'un form ?

J'ai trouvé une autre possibilité : travailler directement en array

$valeurs = $form->getValues() ;

$valeurs["total"] = $valeurs["champA"] + $valeurs["champB"] ;

ensuite, j'effectue un populate pour passer à la vue l'array modifié

$this->view->form = $form->populate($valeurs);

Merci pour la précédente solution proposée, l'écriture est élégante...

Jean

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