Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 28-09-2009 20:39:09

Tavarez
Membre
Lieu: Valenciennes
Date d'inscription: 18-07-2008
Messages: 56

Problème de rendu de formulaire dans un contentPane

Bonjour,

Je tente de charger mon formulaire Zend_Dojo_Form dynamiquement dans un ContentPane. Lorsque je génère le formulaire simplement il s'affiche sans problème mais lorsque je charge dynamiquement avec le code suivant, ça ne fonctionne pas j'ai de simples checkbox.

Code de la vue:

Code:

<?=                           
$this->contentPane(
'mainPane',
'',
array(
'region' => 'center',
'title'=>'answers',
'href'=>'http://localhost/projet/public/index.php/polls/application/get-answers/id_poll/1/num_question/1',
'parseOnLoad' => true
));
?>

avec l'action de controleur suivante:

Code:

public function getAnswersAction()
    {
            
        
            $num_question = $this->_request->getParam('num_question');
        
            $question = $this->poll->getQuestionByNum($num_question);
            
            $poll_session = new Zend_Session_Namespace('poll_session');
            
            if(!array_search($question->id_question, $poll_session->answered))
            {
                $poll_session->answered[] = $question->id_question;
            }
            
            $this->view->question = $question->question;
            
            $this->view->answers = $this->poll->getForm($question);
    }

et pour finir la méthode qui construit le formulaire:

Code:

public function getForm($question)
    {    
        $question_type = $question->type;
        $answers = $this->getAnswers($question->id_question);
        
        $form = new Zend_Dojo_Form();
        $form->setName("question");
        $form->setMethod('post');
        
        $hidden = new Zend_Form_Element_Hidden('question_type');
        $hidden->setValue($question_type);
        $form->addElement($hidden);
        
        foreach($answers as $answer) {
            $name = 'answer_'.$answer->num_answer;
            $item = new Zend_Dojo_Form_Element_CheckBox($name);
            $item->setLabel($answer->answer);
            $item->setDecorators(array(
            'HtmlTag',
            'DijitElement',
            'Errors',
            array('Label',array('class'=>'labelEnabled')),
            'ContentPane'
));
        
            $form->addElement($item);
            
        }
         
        $submit = new Zend_Dojo_Form_Element_SubmitButton('submit');
        $submit->setLabel('Valider');
        $form->addElement($submit);
        
        return $form;
    }

Les éléments sont bien rendus quand j'appelle l'adresse: http://localhost/projet/public/index.php/polls/application/get-answers/id_poll/1/num_question/1 manuellement pourtant. Pour info le code rendu est le suivant dans FF:

<div id="answer_3-ContentPane" options="1 0" helper="CheckBox" checked="">

ce qui n'est pas normal selon moi.

Merci par avance.


Il n'y a qu'en faisant des erreurs qu'on apprend...

Hors ligne

 

#2 29-09-2009 18:28:15

Tavarez
Membre
Lieu: Valenciennes
Date d'inscription: 18-07-2008
Messages: 56

Re: Problème de rendu de formulaire dans un contentPane

Bon j'ai progressé un peu dans mes recherches et lorsque j'ajoute manuellement un élément de formulaire dojo dans la vue get-answers là ça fonctionne. Je trouve ça vraiment bizarre où bien c'est qu'il faut parser mon formulaire à un endroit différent de l'application. Quelqu'un aurait-il déjà eu ce problème? merci


Il n'y a qu'en faisant des erreurs qu'on apprend...

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