Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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 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
Bonjour,
Avec les methodes getElement() et setValue() de Zend_Form
$form1->getElement('total')->setValue($total);Hors ligne
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
Pages: 1