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 :

Boutons radios et JQuery


Sujet :

Zend_Form PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut Boutons radios et JQuery
    Bonjour à tous,
    J'ai crée un formulaire contenant plusieurs champs ainsi que plusieurs boutons radios.
    Lorsque je clique sur un des 4 radios, je voudrais afficher et cacher certains éléments de mon formulaire.
    Pour cela, j'ai crée un fichier js qui récupère la valeur du radio selectionné.
    Seulement je ne vois pas comment cacher les elements dans le form comme l'image.
    Voici mon form:
    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
    public function init() {
            $this->setName('creation oeuvre');
            $this->setEnctype(Zend_Form::ENCTYPE_MULTIPART);
     
            $radio = new Zend_Form_Element_Radio('radio');
            $radio->setLabel('Type de média')
                    ->setMultiOptions(array('Image', 'Son', 'Vidéo', 'Texte'))
                    ->setRequired(true)
                    ->addFilter('StripTags')
                    ->addFilter('StringTrim')
                    ->addValidator('NotEmpty');
     
            $image = new Zend_Form_Element_File('média');
            $image->setLabel('Charger une image:')
                    ->setRequired(true)
                    ->setDestination(APPLICATION_PATH . '/../data/temp')
                    ->addValidator('Count', false, 1)
                    ->addValidator('Size', false, array('max' => '2097152'))// 2Mo
                    ->addValidator('Extension', false, 'jpg,png,gif')
                    ->setDescription("Taille maximum: 2Mo / Extensions autorisées: jpg,png,gif");
     
            $titre = new Zend_Form_Element_Text("titre", array('size' => 25));
            $titre->setLabel('Titre du média')
                    ->setRequired(true)
                    ->addFilter('StripTags')
                    ->addFilter('StringTrim')
                    ->addValidator('NotEmpty')
                    ->addValidator('StringLength', false, 3, 20)
                    ->setDescription("Le titre du média doit avoir entre 3 et 20 caracteres alphanumeriques.");

  2. #2
    Membre Expert
    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 : 39
    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
    Par défaut
    Bonjour,
    Du moment que tu as un id ou une class à l'élement tu que veux cacher tu peux faire un show ou un hide.

    exemple avec un id :

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    Justement le problème est là.
    L'id de l'élément selectionné, je n'arrive à le récupérer seulement en js.
    Il faudrais en js que je retourne la valeur de l'id et que je transmette cette valeur en php.
    Mais comment ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      $('input[type=radio][name=radio]').click(function getValueRadio () {
                if ($(this).is(':checked')) {
                    return $(this).val();
                }else{
                    return 1;
                }
    Ensuite dans le form, il faudra que j'ajoute une condition...

  4. #4
    Membre Expert
    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 : 39
    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
    Par défaut
    Pourquoi veux tu transmettre a PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    C'est ok, j'ai réussi, mais j'ai un code un peu redondant..
    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
            $('input[type=radio][name=radio]').click(function getValueRadio () {
                if ($(this).is(':checked') && $(this).val() == 4) {                
                    $('.id4').show();
                    $('.id3').hide();
                    $('.id2').hide();
                    $('.id1').hide();
                }else if ($(this).val() == 2){                
                    $('.id2').show();
                    $('.id1').hide();
                    $('.id3').hide();
                    $('.id4').hide();
                }else if ($(this).val() == 3){                
                    $('.id3').show();
                    $('.id2').hide();
                    $('.id1').hide();
                    $('.id4').hide();
                }else{                
                    $('.id1').show();
                    $('.id2').hide();
                    $('.id3').hide();
                    $('.id4').hide();
                }
            });
    Vous avez une idée pour améliorer celui-ci ?

  6. #6
    Membre Expert
    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 : 39
    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
    Par défaut
    Citation Envoyé par RomJo Voir le message
    C'est ok, j'ai réussi, mais j'ai un code un peu redondant..
    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
            $('input[type=radio][name=radio]').click(function getValueRadio () {
                if ($(this).is(':checked') && $(this).val() == 4) {                
                    $('.id4').show();
                    $('.id3').hide();
                    $('.id2').hide();
                    $('.id1').hide();
                }else if ($(this).val() == 2){                
                    $('.id2').show();
                    $('.id1').hide();
                    $('.id3').hide();
                    $('.id4').hide();
                }else if ($(this).val() == 3){                
                    $('.id3').show();
                    $('.id2').hide();
                    $('.id1').hide();
                    $('.id4').hide();
                }else{                
                    $('.id1').show();
                    $('.id2').hide();
                    $('.id3').hide();
                    $('.id4').hide();
                }
            });
    Vous avez une idée pour améliorer celui-ci ?

    et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            $('input[type=radio][name=radio]').click(function getValueRadio () {
     
                if ($(this).is(':checked')) {      
                    $('.id1').hide();
                    $('.id2').hide();
                    $('.id3').hide();
                    $('.id4').hide();
     
                    $('.id'+$(this).val()).show();
            });

Discussions similaires

  1. [AJAX] bouton radio et jquery
    Par rewook dans le forum AJAX
    Réponses: 2
    Dernier message: 12/10/2012, 18h04
  2. Réponses: 6
    Dernier message: 26/10/2010, 18h46
  3. Réponses: 6
    Dernier message: 05/03/2010, 14h56
  4. [Jquery] Bouton Radio et input disable
    Par lifty dans le forum jQuery
    Réponses: 1
    Dernier message: 27/07/2009, 21h49
  5. [jquery]Verifier l'état d'un bouton radio
    Par gtraxx dans le forum jQuery
    Réponses: 26
    Dernier message: 03/10/2008, 13h07

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