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 :

Initialiser Valeur Champ Formulaire [ZF 1.10]


Sujet :

Zend_Form PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Par défaut Initialiser Valeur Champ Formulaire
    Bonjour à tous,

    comme d'hab le soucis va être d'expliquer ledit soucis ...

    J'utilise le ZF de manière conventionnelle : controller, form, view...
    J'ai une liste de données, je double clique sur une ligne pour éditer l'enregistrement et me retrouve dans un formulaire classique avec boutons Annuler et Enregistrer.

    Jusque là, tout baigne.

    Imaginons que sur le formulaire, j'ai 3 InputBox à renseigner.
    Mon soucis est de rajouter un Bouton à droite du 1er InputBox pour passer la saisie de ce 1er input à une fonction (ou Action) qui sur la base de cette info retournerait 2 (ou N) valeurs pour initialiser les InputBox 2 et 3.

    En gros, dans mon Controller je souhaiterais un truc du genre :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
        private function sauverAction()
        {
     
            $this->view->headTitle($this->view->title, 'PREPEND');
            $form = new Form_Bibliotheque();
            $form->submit->setLabel('Enregistrer');
            $this->view->form = $form;
     
            if ($this->getRequest()->isPost()) {
     
                $formData = $this->getRequest()->getPost('submit');
     
                if ($formData == 'Annuler') {                     
                    $this->_redirect('/bibliotheque');
                } else {
     
                    if ($formData == 'Test') {
                      //VOILA CE QUE JE SOUHAITE MAIS SETVALUE N'EXISTE PAS
                      //EN PRECISANT QUE LE FORMULAIRE DOIT RESTER A L'ECRAN
                        echo $form->setValue('obj_libelle01', 'Test');
     
                    } else {
                        $formData = $this->getRequest()->getPost();
                        if ($form->isValid($formData)) {
     
                            $id = (int)$form->getValue('obj_id');                       //Données fixes
                            $titre = $form->getValue('obj_libelle01');                  //Titre livre
                            $auteur = (int)$form->getValue('obj_auteur_id');            //auteur
     
                            $bibliotheques = new Model_DbTable_Bibliotheques();
                            $bibliotheques->sauverBibliotheque($id, $titre, $auteur,);
                            $this->_redirect('/bibliotheque');
     
                            } else {
                                $form->populate($formData);
                            }
                        }
                    }
            } 
        }
    Une idée, un souvenir, une critique, un resto ????

    Merci d'avance.

  2. #2
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Salut,

    Je veux bien un resto, mais pas flunch!

    Sinon en général j'utilise javascript pour ce genre de problème ça va plus vite que de bidouiller Zend_Form qui est rebutant à mon gout.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Par défaut
    Manuscle,

    pour le resto c'est jouable puisque nous sommes tous les 2 à Bx.

    Par contre va falloir te décarcasser un peu plus via ZF.


  4. #4
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $form->getElement('obj_libelle01')->setValue('test');
    ça marche pas?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Par défaut
    Manuscle,

    effectivement cela met la valeur par contre ça rajoute carrément un nouvel inputBox avec le même Id qui doublonne + de nouveaux decorators fieldset sur cet input... Du coup toute la mise en forme saute.

    Je creuse sur ce comportement.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Par défaut
    Merci Manuscle,

    c'est moi qui n'ouvre pas les yeux : en virant simplement le echo, tout baigne.


    Bon, j'en suis d'un resto. Par contre faut que tu viennes sur place..... et je bosse en champagne...


    Un grand MERCI.

  7. #7
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    C'est bizarre que ton formulaire ne se remplisse pas tout seul après post. J'ai vu que tu faisais un populate si le formulaire n'est pas valide et normalement ça sert à rien.

    Je pense que c'est parce que tu initialise ta variable de vue avant de vérifier le formulaire... essaie de placer
    $this->view->form = $form; à la fin de ton action

    J'aurais plus vu un truc comme ç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
    29
     
    private function sauverAction()
    {
     
        $this->view->headTitle($this->view->title, 'PREPEND');
        $form = new Form_Bibliotheque();
        $form->submit->setLabel('Enregistrer');
     
        if ($this->getRequest()->isPost() && $form->isValid($_POST)) {
     
            $formData = $this->getRequest()->getPost('submit');
     
            if ($formData == 'Test') {
                echo $form->setValue('obj_libelle01', 'Test');
     
            } else {
                $formData = $this->getRequest()->getPost();
     
                $id = (int)$form->getValue('obj_id');                       //Données fixes
                $titre = $form->getValue('obj_libelle01');                  //Titre livre
                $auteur = (int)$form->getValue('obj_auteur_id');            //auteur
     
                $bibliotheques = new Model_DbTable_Bibliotheques();
                $bibliotheques->sauverBibliotheque($id, $titre, $auteur,);
                $this->_redirect('/bibliotheque');
            }
        }
        $this->view->form = $form;
    }
    Quand au bouton annuler j'aurais plus vu un lien à la place ou un petit onclick="window.location.replace('/bibliotheque')"

  8. #8
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Citation Envoyé par Flamenco Voir le message
    Merci Manuscle,

    c'est moi qui n'ouvre pas les yeux : en virant simplement le echo, tout baigne.


    Bon, j'en suis d'un resto. Par contre faut que tu viennes sur place..... et je bosse en champagne...


    Un grand MERCI.
    Bon ben tu boira un verre à ma santé alors ce sera plus simple!

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Par défaut
    Manuscle,

    au fait, si tu veux rencontrer 1 (moi), ou d'autres confrères de la profession (ou pas d'ailleurs) sur Bordeaux, si tu as 1 job à proposer, si tu cherches un autre job... ou simplement pour agrandir ton carnet d'adresses, on peut arranger ça par mail P. et finir place de la concorde (si elle existe toujours) ou ailleurs.

    En fait, je descends sur Bx les 10 prochains jours et j'ai quelques pointures en dev et en déconnades relativement sociables.

    Tu vois.

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

Discussions similaires

  1. Récupérer valeur champ formulaire dans une variable
    Par majudis dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/05/2016, 08h15
  2. [XL-2010]Récupérer valeur champ formulaire dans une variable
    Par sasafca dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/04/2013, 10h58
  3. Réponses: 5
    Dernier message: 01/11/2011, 17h14
  4. Récupérer valeur champs formulaire en PHP sur la meme page
    Par ingeniomatique dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/06/2011, 15h43
  5. vérifier total valeur champ formulaire
    Par serialmother dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/02/2007, 18h02

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