Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 28-04-2009 16:41:44

neilime
Membre
Date d'inscription: 28-04-2009
Messages: 42

Mise en forme d'un formulaire un peu spécial

Bonjour, je me permet de poster parce que je n'avance plus...
je doit créer un formulaire :

http://www.monsterup.com/upload/1240904803634.jpg

J'ai fait ça :

zend_form:

Code:

<?php
 
class Form_Myform extends Zend_Form
{
    public function init()
    {
        $this->setMethod('post');
        
        for ($i = 1; $i <= 10; $i++) {
        
            $elementUserPseudo = new Zend_Form_Element_Text("forced_userPseudo_$i");
            $elementUserPseudo->setLabel("$i");
            $this->addElement($elementUserPseudo);
            
            $elementUserpass = new Zend_Form_Element_Text("forced_userpass_$i");
            $elementUserpass ->addValidator('StringLength', true, array(10));
            $elementUserpass ->setAttrib('maxlength',10);
            $this->addElement($elementUserpass );
            
            $elementUserEmail = new Zend_Form_Element_Text("forced_userEmail_$i");
            $elementUserEmail->addFilter('StringToLower');
            $elementUserEmail->setRequired(true);
            $elementUserEmail->addValidator('NotEmpty', true);
            $elementUserEmail->addValidator('EmailAddress'); 
            $this->addElement($elementUserEmail);

             $elementSubmitInvitation = new Zend_Form_Element_Submit('submitforcedinscritions');
             $elementSubmitInvitation->setLabel('Valider les inscriptions');
         $elementSubmitInvitation->addDecorator(new Decorator_DefaultButtonElement());
             $this->addElement($elementSubmitInvitation);
        }
    }
}

et je l'affiche comme cela :

View :

Code:

//construciton du formulaire
    echo '<div id="forced_form">';
    echo '<div id="forced_form_head">';
    echo '<div id="forced_form_head_item">Pseudo</div>';
    echo '<div id="forced_form_head_item">Tel Mobile</div>';
    echo '<div id="forced_form_head_item">Adresse Email</div>';
    echo '</div>';
    for($i=1;$i<=10;$i++) { 
    echo '<div id="forced_form_content">';
    echo '<div id="forced_form_content_number">'.$i.'</div>';
    echo '<div id="forced_form_content_item">'.$this->form->__get('forced_userPseudo_'.$i).'</div>';
    echo '<div id="forced_form_content_item">'.$this->form->__get('forced_userMobileNumber_'.$i).'</div>';
    echo '<div id="forced_form_content_item">'.$this->form->__get('forced_userEmail_'.$i).'</div>';
    echo '</div>';
    }
    echo '<div id="forced_form_submit">'.$this->form->__get('submitforcedinscritions').'</div>';

Je n'utilise pas de decorator (même si j'aimerai bien) parce que ne maitrise pas ce composant et je ne voit pas comment le faire autrement.
L'affichage de mon formulaire marche nikel mas le bouton submit ne fonctionne pas... (ce qui me semble normal)

Donc si vous avez une solution à mon problème (le mieux en utilisant des décorators) je suis preneur !!
merci d'avance.

Dernière modification par neilime (28-04-2009 16:49:25)

Hors ligne

 

#2 28-04-2009 16:47:28

Djules
Membre
Date d'inscription: 29-03-2009
Messages: 52
Site web

Re: Mise en forme d'un formulaire un peu spécial

Excuse-moi si je me trompe, mais je ne vois pas la déclaration de ton bouton submit 'submitforcedinscritions' dans ta classe Form_MyForm.

Je n'ai peut-être pas compris ce que tu veux en fait. Explicite un peu plus ...

Hors ligne

 

#3 28-04-2009 16:49:55

neilime
Membre
Date d'inscription: 28-04-2009
Messages: 42

Re: Mise en forme d'un formulaire un peu spécial

Autan pour moi je n'avais pas tout copier de mon code...

Hors ligne

 

#4 28-04-2009 16:54:03

Djules
Membre
Date d'inscription: 29-03-2009
Messages: 52
Site web

Re: Mise en forme d'un formulaire un peu spécial

Après pour le bouton submit, la validation et la récupération des données du formulaire se font dans ton contrôleur, le souci est peut-être ici.

Hors ligne

 

#5 28-04-2009 17:06:24

neilime
Membre
Date d'inscription: 28-04-2009
Messages: 42

Re: Mise en forme d'un formulaire un peu spécial

Je ne pense pas, mais bon je poste quand mêm mon code...
Controleur :

Code:

$form = $this->getInvitationForcedForm();
$this->view->form = $form;

focntion getInvitationForcedForm();

Code:

    private function getInvitationForcedForm(){
        //------------------------------------
        require_once APPLICATION_PATH . '/forms/Form_InvitationForced.php';
        $form = new Form_InvitationForced();
        $form->setAction($this->_helper->url('inviteforced'));
        //------------------------------------
        return $form;
    }

Mais bon le bouton submit ne déclenche rien du tout, c'est qui me semble bizarre.

En regardant le code source de la page, il n'y a pas la balise <form action="" method=""> ça doit venir de là mais je ne sais pas comment la faire afficher.

Dernière modification par neilime (28-04-2009 17:10:56)

Hors ligne

 

#6 26-05-2009 18:00:38

elkolonel
Administrateur
Lieu: Grasse
Date d'inscription: 18-12-2007
Messages: 299
Site web

Re: Mise en forme d'un formulaire un peu spécial

neilime a écrit:

...
En regardant le code source de la page, il n'y a pas la balise <form action="" method=""> ça doit venir de là mais je ne sais pas comment la faire afficher.

Hello, tu peux normalement utiliser dans ta vue :

Code:

$this->form->getMethod(); // Pour recuperer 'POST' or 'GET'
$this->form->getAction(); // Pour recuperer l'action

A noter, également que tu peux, et je pense que c'est préférable, utiliser la syntaxe suivante :

Code:

$this->setMethod(Zend_Form::METHOD_POST);

en lieu et place de :

Code:

$this->setMethod('post');

Voilà, en espérant que cela t'a aidé wink

++
Fred

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