Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-07-2010 15:43:19

Wiinner
Membre
Date d'inscription: 31-03-2010
Messages: 26

Form dans un thickbox et redirect

Bonjour tout le monde,

voici mon problème.
Je suis sur le controlleur "Controles" et j'ai une action "index".
Sur cette page se trouve un lien thickbox, qui m'ouvre un formulaire.
Jusque là, tout va bien.

Je veux qu'une fois ce formulaire rempli, et le bouton appuyer, j'ai les actions suivantes qui s'effectuent :
Envoie des données dans la BDD (çà, çà marche).
Fermeture du thickbox (çà çà marche).
Rechargement de la page parent (çà, çà marche pas... le controle que j'ai ajouté n'apparait pas, et l'url n'a pas changé (je me suis amuser à enlever un param avec un redirect)).

Je vous donne le code associé :
(Enfin un bout du controlleur)

Code:

        if ($this->getRequest()->isPost()) {
            if ($form->isValid($this->getRequest()->getPost())) {
                $mat_id = $carnet->Matid;
                $cls_id = $carnet->Clsid;

                $controle = new Application_Model_Controles($form->getValues());
                //$controle->setCoefficient($coeff);
                $controle->setMatid($mat_id);
                $mapper  = new Application_Model_ControlesMapper();
                $mapper->save($controle);
                //return $this->_helper->redirector($url);
                return $this->_helper->redirector->gotoSimple('index',
                                                       'Controles',
                null,
                array('mat_id' => $mat_id,
                    'carnet_id'    => $carnet_id,
                    'per_id'    => $form->getValue('Perid'),
                ));
                
                $this->_helper->redirector('index', 'Controles', '', array('carnet_id' => $form->getValue('carnet_id')));
                    
            }
        }

Je sais, il y a 2 redirect, j'ai essayé les 2, aucun ne me rechargent ma page.

Le code de mon formulaire :

Code:

        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setAttrib('onclick', 'self.parent.tb_remove();');
                $submit->setLabel('Ajouter');
        
        $this->addElement($submit);

J'ai volontairement mis que la fin du formulaire, car le reste n'a pas d'importance.

Et dans la vue :

Code:

<a href="<?php echo BASEURL.'Controles/add/carnet_id/'.$this->carnetid.'?KeepThis=true&TB_iframe=true&height=400&width=600modal=true'; ?>" class="thickbox">Test</a>

Le lien pour ouvrir la fenêtre, même si je doute que çà soit utile, car cette partie çà marche.

Je pense que mon problème vient de mon controlleur.
La redirection doit se faire dans la thickbox, et non dans la partie principale.
Et vu que juste derrière, je ferme la thickbox avec le onclick du bouton du formulaire.


Donc ma question est :
Comment faire pour que çà soit ma page derrière qui soit rechargé (d'ailleurs peut etre avec un léger délai histoire d'être sur que l'insertion dans la BDD soit correcte, et qu'il me charge bien les données voulues dans la vue).

Voila, merci d'avance.

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