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