Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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:
<?= $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:
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:
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.
Hors ligne
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
Hors ligne
Pages: 1