IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Form PHP Discussion :

Formulaire un peu spécial


Sujet :

Zend_Form PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 186
    Par défaut [Résolu]Formulaire un peu spécial
    Bonjour c'est encore moi je bataille toujours autan avec les Forms :

    je voudrez créer un formulaire qui ressemble à ça :



    Mais je ne c'est pas du tout comment le gérer. (j'imagine qu'il ne faut pas que je créé 30 champs différents)
    Donc si vous avez quelques minutes à consacrer pour m'indiquer la voie de la solution j'en serai reconnaissant ! D'avance merci.

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    essaye d'abord de faire fonctionner un formulaire avec juste la 1re ligne
    une fois que ce formulaire fonctionne tu auras juste besoin d'ajouter une boucle pour créer toutes les lignes

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 186
    Par défaut
    J'ai réussi à faire le formulaire avec juste une seule ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    <?php
     
    class Form_Myform extends Zend_Form {
     
    public function init(){
     
            $this->setMethod('post');
     
     
            $elementUserPseudo = new Zend_Form_Element_Text('forced_userPseudo');
            $elementUserPseudo->setLabel('1');
            $this->addElement($elementUserPseudo);
     
    	$elementUserpass = new Zend_Form_Element_Text('forced_userpass');
             $elementUserpass ->addValidator('StringLength', true, array(10));
             $elementUserpass ->setAttrib('maxlength',10);
           	 $this->addElement($elementUserpass );
     
    		$elementUserEmail = new Zend_Form_Element_Text('forced_userEmail');
            $elementUserEmail->addFilter('StringToLower');
            $elementUserEmail->setRequired(true);
            $elementUserEmail->addValidator('NotEmpty', true);
            $elementUserEmail->addValidator('EmailAddress'); 
            $this->addElement($elementUserEmail);
     
           }
     
    }
    ?>

    Mais après comment je fait pour répéter x fois les champs et surtout comment les traiter correctements

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?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);
            }
        }
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 186
    Par défaut
    ça marche bon certes un peu en vrac (je vais le gérer avec les décorators, si j'arrive)
    juste pour moi les $i entre quote n'était pas pris en compte, mais bon c'est facile de régler ça.

    Merci beaucoup je vais aller m'amuser avec les CSS, après je verrai le traitement du POST mais bon je pense que ça ira !!
    Encore merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 186
    Par défaut
    Bon je n'arrive pas à mettre ce formulaire en forme avec les decorator...
    Donc j'ai essayé avec une autre manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    //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>';
    Mais le problème c'est que le Submit ne fonctionne pas.... ce qui me semble normal d'ailleurs mais je ne vois pas comment faire autrement.
    Donc si quelqu'un à une solution pour afficher ce formulaire correctment je suis preneur,
    et si quelqu'un sait le faire avec des décorators je suis je suis encore plus preneur !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] Formulaire un peu spécial
    Par psgman113 dans le forum Symfony
    Réponses: 5
    Dernier message: 20/04/2010, 08h52
  2. Création d'un formulaire un peu spécial !
    Par magohamoth dans le forum Langage
    Réponses: 3
    Dernier message: 22/11/2006, 17h05
  3. récupérer les données d'un formulaire un peu spécial
    Par Jim_Nastiq dans le forum Interfaces Graphiques
    Réponses: 12
    Dernier message: 10/07/2006, 10h53
  4. Réponses: 4
    Dernier message: 05/07/2004, 13h17
  5. ORDER BY un peu spécial
    Par gromez dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 29/04/2004, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo