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 :

griser champ formulaire


Sujet :

Zend_Form PHP

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 1
    Points
    1
    Par défaut griser champ formulaire
    Bonjour à tous,
    voila déja plusieurs jours que suis sur ce problème. Voici mon formulaire:

    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
    $relance = new Zend_Form_Element_Radio('relance');
            $relance->setLabel('Relance :');
            $relance->addMultiOptions(array('1' => 'Oui', '0' => 'Non'));
     
     
     
            $nbRelance = new Zend_Form_Element_Text('nbRelance');
            $nbRelance->setLabel('Nombre de Relance')
                    ->setRequired(true)
                    ->addFilter('StripTags')
                    ->addFilter('StringTrim')
                    ->addValidator('NotEmpty')
                    ->addValidator(new Zend_Validate_Digits());
            $nbRelance->setDecorators(array(
                'ViewHelper',
                'Errors',
                array(array('data' => 'HtmlTag'), array('class' => 'elementForm')),
                array('Label', array()),
            ));
     
            $dateDebutRelance = new ZendX_JQuery_Form_Element_DatePicker(
                    'dateDebutRelance', array('label' => 'Date debut de Relance',
                                      'required' => true,
                                     'validators'=> array('Date'),
                                   'jQueryParams'=> array('dateFormat' => 'dd/mm/yy')));
     
     
            $frequenceRelance = new Zend_Form_Element_Text('frequenceRelance');
            $frequenceRelance->setLabel('Frequence de Relance')
                    ->setRequired(true)
                    ->addFilter('StripTags')
                    ->addFilter('StringTrim')
                    ->addValidator('NotEmpty')
                    ->addValidator(new Zend_Validate_Digits());
            $frequenceRelance->setDecorators(array(
                'ViewHelper',
                'Errors',
                array(array('data' => 'HtmlTag'), array('class' => 'elementForm')),
                array('Label', array()),
            ));
    Mon problème est: quand le champ relance est à "non", les autres champs doivent être grisés.
    Après avoir fait des recherches sur le net, j'ai vu qu'il fallait faire une fonction javascript.
    Alors que "moi et javascript ça fait 2"
    Est ce que quelqu'un peut m'aider svp.
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Tu peux griser un champ en ajoutant l'attribut disabled dans le node en question. Je ne sais toutefois pas le faire avec Zend...

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" disabled="disabled" value="désactivé" />

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 1
    Points
    1
    Par défaut
    Merci pour la réponse. J'avais vu cette solution sur le net mais je ne sais pas comment ça marche avec zend.
    Merci encore.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Points : 230
    Points
    230
    Par défaut
    Hello,

    Pour que ton input soit «disabled» il suffit d'appeler ->setDisabled(true) dessus

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 1
    Points
    1
    Par défaut
    hello,
    j'ai rajouté setDisabled(true) et voici l'erreur que j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Method setDisabled does not exist
    ça ne marche toujours pas
    De l'aide svp

  6. #6
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    je crois que la méthode setDisabled n'existe pas. Il y a la méthode setAttrib qui permet de valoriser un attribut HTML sur l'élément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nbRelance->setAttrib('disabled', TRUE)

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 1
    Points
    1
    Par défaut
    Bjr, lorsque je mes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nbRelance->setAttrib('disabled', TRUE)
    le champ est bien grisé. Mais il est toujours grisé que je mette oui ou non sur le bouton radio.
    Et merci encore pour cette piste

  8. #8
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    "dégrise" ton input en enlevant la propriété avec JavaScript.

    Avec jQuery (je ne sais pas quelle lib tu utilise) ça donne quelque chose du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $('#radio').click(function () {
      if ($(this).is(':checked')) {
         $('#input').removeAttr('disabled');
      }
    });

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 1
    Points
    1
    Par défaut
    Comment je fais le lien entre la fonction javascript et mon formulaire dans ce cas?
    Voici la fonction que j'ai faite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function change(){
        $("input[name='relance']").click(function() {
      if($("input[name='relance']:checked").val() == 'oui')
        $('.nbRelance').disabled = false;
      else
        $('.nbRelance').disabled = true;
    });
    Je devrais mettre ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $('#radio').click(function () {
      if ($(this).is(':checked')) {
         $('#input').removeAttr('disabled');
      }
    });
    avec ma fonction ou pas?
    Je crois que je suis complètement perdu
    Merci encore pour l'aide que vous m'apporter

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 152
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    tu peux faire appel à ta fonction javascript "change()" lors de la construction de ton élément dans ton formulaire en rajoutant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nbRelance->setAttrib('onchange', 'change()');
    en espérant avoir répondu à ta question

  11. #11
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Le JavaScript intrusif c'est pas terrible, il vaut mieux séparer les données des comportements pour des raisons de flexibilité.

  12. #12
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 1
    Points
    1
    Par défaut
    J'ai maintenant les 3 champs de mon formulaire qui se grisent lorsque le champ relance est à non grâce à cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function griser(index){
     
        alert(index);
        document.getElementById('nbRelance').disabled = (index == 1);
        document.getElementById('dateDebutRelance').disabled = (index == 1);
        document.getElementById('frequenceRelance').disabled = (index == 1);
    }
    Sauf que lorsque je veux enregistrer mon formulaire j'ai certaines erreurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Undefined index: dateDebutRelance in C:\wamp\www\sondage\application\controllers\CampagneController.php on line 66
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Undefined offset: 2 in C:\wamp\www\sondage\application\controllers\CampagneController.php on line 67
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Undefined offset: 1 in C:\wamp\www\sondage\application\controllers\CampagneController.php on line 67
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Undefined index: nbRelance in C:\wamp\www\sondage\application\controllers\CampagneController.php on line 77
    Et voici le code de mon controlleur:

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
      public function ajoutAction() {
     
            $form = new Application_Form_CampagneForm();
            $this->view->form = $form;
            $sondage_id = $this->_request->getParam("id");
            $sondage = $this->lecture->getSondageById($sondage_id);
            $this->view->sondage = $sondage;
     
            if ($this->_request->getPost('Enregistrer')) {
                $formData = $this->_request->getPost();
     
                //validator date debut campagne
                if (!empty($formData["datedebut"]) && !empty($formData["datefin"]) && !empty($formData["dateDebutRelance"])) {
                    $validatorForm = new App_Validator_ValidateDateDebutCampagne(new Zend_Date($formData["datedebut"]),
                                                                                new Zend_Date($formData["datefin"]),
                                                                                new Zend_Date($sondage->getDateDebut()),
                                                                                new Zend_Date($sondage->getDateFin()));
                    $form->getElement('datedebut')->addValidator($validatorForm);
     
                    //validator date fin campagne
                    $validatorForm = new App_Validator_ValidateDateFinCampagne(new Zend_Date($formData["datedebut"]), new Zend_Date($formData["datefin"]), new Zend_Date($sondage->getDatedebut()), new Zend_Date($sondage->getDateFin()));
                    $form->getElement('datefin')->addValidator($validatorForm);
     
                    //validator date debut relance
                    $validatorForm = new App_Validator_ValidateDateDebutRelance(new Zend_Date($formData["datedebut"]), new Zend_Date($formData["datefin"]), new Zend_Date($formData["dateDebutRelance"]));
                    $form->getElement('dateDebutRelance')->addValidator($validatorForm);
                }
     
                //validator date fin relance
                if(!empty($formData["dateDebutRelance"])){
                    $duree = ($formData["nbRelance"]) * ($formData["frequenceRelance"]);
                    $dateFinRelance = new Zend_Date($formData["dateDebutRelance"]);
                    $dateFinRelance->add($duree, Zend_Date::DAY);
                    $validatorForm = new App_Validator_ValidateDateFinRelance(new Zend_Date($formData["datedebut"]), new Zend_Date($formData["datefin"]), $dateFinRelance);
                    $form->getElement('dateDebutRelance')->addValidator($validatorForm);
                }
     
                if ($form->isValid($formData) && !empty($sondage_id)) {
     
     
                    $dat = explode('/', $formData["datedebut"]);
                    $dateDebut = $dat[2] . '-' . $dat[1] . '-' . $dat[0];
                    $dat = explode('/', $formData["datefin"]);
                    $dateFin = $dat[2] . '-' . $dat[1] . '-' . $dat[0];
                    $dat = explode('/', $formData["dateDebutRelance"]);
                    $dateDebutRelance = $dat[2] . '-' . $dat[1] . '-' . $dat[0];
     
     
                    $campagne = new Application_Model_Campagne(
                                    null,
                                    $sondage_id,
                                    $dateDebut,
                                    $dateFin,
                                    $formData["typeReporting"],
                                    $formData["relance"],
                                    $formData["nbRelance"],
                                    $dateDebutRelance,
                                    $formData["frequenceRelance"],
                                    $formData["libelle"],
                                    $formData["verrouille"],
                                    $formData["contenuMail"],
                                    null);
     
     
                    $campagne_id = $this->ecriture->saveCampagne($campagne);
     
                    $location = $form->abonnes->getFileName();
     
                    if (!empty($location)) {
                        $this->ajoutAbonnes($sondage, $campagne_id, $location);
                    }
     
                    $this->view->valide = "Nouvelle Campagne créée avec succès";
                } elseif (empty($this->sondage_id)) {
     
                    $this->view->error = "'pas de id sondage";
                }
     
            }
        }
    Merci à tous

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Points : 230
    Points
    230
    Par défaut
    Hello,

    Cela viens du fait que les inputs «disabled» ne sont pas envoyés dans le formulaire et ne sont donc pas présent dans $this->_request->getPost();
    Il faut que tu adaptes ton code php en conséquence

  14. #14
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Bonjour,

    ou alors, préférer l'attribut readonly, il faut pour cela jouer avec les propriétés css pour griser le champ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    document.getElementById('nbRelance').readOnly=true;
    document.getElementById('nbRelance').style.background="#DDD";

  15. #15
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 1
    Points
    1
    Par défaut
    Ok, je regarde ça et merci encore à tous.
    J'ai une question sur un autre sujet, j'ai fait un contrôleur cron qui envoie des mails dont les adresses sont récupérés sur la base de données. Sauf que j'ai ceci en erreur: No database selected et et je ne reçois pas de mails.
    voici mon code:

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     public function envoiesondageAction() {
            $sondages=$this->lecture->getAllSondages();
     
            foreach ($sondages as $sondage)
            {
                $sondage->setCampagnes($this->lecture->getCampagnesBySondage($sondage));
                $campagnes=$sondage->getCampagnes();
                foreach ($campagnes as $campagne)
                {   
                    $dateDebut=$campagne->getDatedebutDB();
                    if($dateDebut->toValue()<=  time()) //Pour le vrai : changer '<=' en '=='
                    {
                        $campagne->setAbonnes($this->lecture->getAbonnesByCampagne($campagne));
                        $abonnes=$campagne->getAbonnes();
                        echo 'Dans la campagne '.$campagne->getLibelle(); //
     
     
                        foreach ($abonnes as $abonne)
                        {
                            echo '<br/>_______________________________________________________<br/>';
                            $contenuMail=$campagne->getContenuEmail();
     
                            $contenuMail=str_replace ("#nom#", $abonne->getNom(), $contenuMail);
                            $contenuMail=str_replace ("#prenom#", $abonne->getPrenom(), $contenuMail);
                            $contenuMail=str_replace ("#mail#", $abonne->getEmail(), $contenuMail);
                            $contenuMail=str_replace ("#civilite#", $abonne->getCivilite(), $contenuMail);
                            $contenuMail=str_replace ("#lien#", "http://".$_SERVER['SERVER_NAME']."/questionnaire/repondre/id/".$sondage->getId()."/a/".$abonne->getCodeId(), $contenuMail);
     
     
                            $contenuMailFinal=nl2br($contenuMail);
                            echo $contenuMailFinal;
     
     
                        //$email=$abonnes->getEmail();
     
     
                    }
                    echo '<br/><br/><br/>';
                }
            }
     
        }
                        $config = array(
                                        'port' => 25
                                      );
                        $tr = new Zend_Mail_Transport_Smtp('xxx', $config);
                             Zend_Mail::setDefaultTransport($tr);
     
                        $base = mysql_connect ('localhost','','');
                        mysql_select_db ('Sondages', $base);
                        $req = mysql_query("select email from abonne ")or die (mysql_error());
                                while($array = mysql_fetch_array($req))
                        {
                       // $em = $array["email"];
     
                        $mail = new Zend_Mail();
                        $mail->setFrom('XX@XX');
                        $mail->addTo('$array');
                        $mail->setSubject('sujet de test');
                        $mail->setBodyText('Ceci est le texte du message.');
                        $mail->send();
                        Zend_Mail::setDefaultTransport($tr);
                        $mail = new Zend_Mail();
                        }
        }
    Lorsque je mes une seule adresse mail sur addTo() l'envoi se fait sans problème.

    2e problème: pour tester l'envoi je tape l'adresse url alors que j'aimerais que l'envoi se fasse automatiquement.
    Dois je faire un script qui fait l'envoi automatique? Si oui ou dois-je mettre le script?

    Merci d'avance.

  16. #16
    Membre éprouvé
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Points : 1 297
    Points
    1 297
    Par défaut
    Je reviens juste sur setAttrib('disabled', true);
    C est plutot setAttrib('disabled', 'disabled'); et vide pour ne pas le grisé

  17. #17
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Citation Envoyé par 5h4rk Voir le message
    Je reviens juste sur setAttrib('disabled', true);
    C est plutot setAttrib('disabled', 'disabled'); et vide pour ne pas le grisé
    Tout à fait.

  18. #18
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 1
    Points
    1
    Par défaut
    Ok, merci à tous pour le temps que vous m'avez accordé.

  19. #19
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 1
    Points
    1
    Par défaut
    Bonjour, je suis de retour avec mes problèmes de formulaire.
    Le formulaire permet la création d'une section. La première section est obligatoire et non conditionnelle.
    Voici mon formulaire avec juste les champs qui me posent problème:

    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
           $obligatoire = new Zend_Form_Element_Radio('obligatoire');          $obligatoire->setLabel('Section obligatoire :')
                        ->setRequired(true)
                        ->setDecorators(array(
                        'ViewHelper',
                        'Errors',
                        array(array('data' => 'HtmlTag'), array('class' => 'elementForm')),
                        array('Label', array()),
                        ));
            $obligatoire->addMultiOptions(array('1' => 'Oui', '0' => 'Non'));
     
            $contionnel = new Zend_Form_Element_Radio('conditionnelle');
            $contionnel->setLabel('Section conditionnelle :')
                    ->setRequired(true)
                    ->setDecorators(array(
                        'ViewHelper',
                        'Errors',
                        array(array('data' => 'HtmlTag'), array('class' => 'elementForm')),
                        array('Label', array()),
                        ));
            $contionnel->addMultiOptions(array('1' => 'Oui', '0' => 'Non'));
            //$contionnel->setAttrib('disabled', 'disabled');
    Problème: je souhaite lors de la création de la première section que le "Non" du champ obligatoire et le "Oui" du champ conditionnel soient grisé et pour la création des sections suivantes qu'on ait le choix de sélectionner oui ou non.
    Toute aide sera la bien venue.

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 152
    Points : 119
    Points
    119
    Par défaut
    Bonjour,
    as-tu essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $obligatoire->setAttrib('readOnly', 'readOnly');

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Verification champ formulaire
    Par calitom dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2006, 14h54
  2. Récupérer la valeur d'un champs formulaire
    Par bodtx dans le forum Access
    Réponses: 5
    Dernier message: 01/03/2006, 14h55
  3. Valeur dans champ formulaire
    Par dbi dans le forum Access
    Réponses: 5
    Dernier message: 18/02/2006, 01h18
  4. Réponses: 1
    Dernier message: 29/09/2005, 12h05
  5. Modifier la position d'un champs formulaire
    Par gg14bis dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/09/2005, 08h57

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