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

JavaScript Discussion :

évènement onclick sur boutons radio


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Points : 54
    Points
    54
    Par défaut évènement onclick sur boutons radio
    Bonjour, je suis ultra débutant en javascript et je n'y connais donc ultra rien.
    voici le soucis, j'ai un formulaire en multi-étapes généré grâce à un plugin jquerry trouvé par ci et la sur le net.
    il fonctionne excellemment bien.

    Le soucis qui m'oppose est que selon le clic qui sera fait sur un input, de type radio, je souhaite affiché un élément,

    jusque la pas de problème j'ai pu me débrouiller tant bien que mal, voici comment j'ai procédé.

    dans les balises <HEAD></HEAD>
    Partie réservée au javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type="text/javascript">
     
    function pm ()
    {
    document.getElementById("pm").style.display = "block";
    }
    function pp ()
    {
    document.getElementById("pp").style.display = "block";
    }
     
    </script>
    Partie réservée au css:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #pm{
    display: none;
    }
    #pp {
    display: none;
    }
    Dans les balises <BODY></BODY>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <label for="categorie">Catégorie</font></b></label>
              <input type="radio" name="categorie" value="personne_morale" onclick="pm();" />Personne&nbsp;morale&nbsp; 
    <input type="radio" name="categorie"  value="personne_physique" onclick="pp();" />Personne physique
    et l'élément qui s'affiche ou pas.

    Dans le body j'ai pu mettre ce bloc à l'endroit ou il doit s'afficher:

    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
    <fieldset>
            <legend>Informations légales</legend>
             <div id="pm"> <label for="raison_sociale"><b><font size="2" face="Verdana">Raison sociale</font></b></label>
                <input id="raison_sociale" type="text" />
            <label for="nom_commercial"><b><font size="2" face="Verdana">Nom commercial</font></b></label>
                <input id="nom_commercial" type="text" />
    	   <label for="forme_juridique"><b><font size="2" face="Verdana">Forme Juridique</font></b></label>
               <select onchange="if(this.selectedIndex == 7) document.getElementById('forme_juridique2').style.display = 'block'; 
    		   else document.getElementById('forme_juridique2').style.display = 'none';" name="test">
    				<option>E.U.R.L.</option>
    				<option>S.A.R.L.</option>
    				<option>S.A.</option>
    				<option>S.N.C.</option>
    				<option>Société Particulière</option>
    				<option>S.D.F</option>
    				<option>Coopérative</option>
    				<option value="autre">Autre</option>
     
    </select>
    <input id="forme_juridique2" type="text" style="display:none;" /> 
    		 <label for="siret"><b><font size="2" face="Verdana">Siren ou Siret</font></b></label>
                <input id="siret" type="text" / maxlength="14">		
                <label for="code_ape"><b><font size="2" face="Verdana">Code APE</font></b></label>
                <input id="code_ape" type="text" />
    			        <label for="capital"><b><font size="2" face="Verdana">Capital social</font></b></label>
                <input id="capital" type="text" />
    	    <label for="activite"><b><font size="2" face="Verdana">Activité</font></b></label>
                <input id="actvitite" type="text" />
    			</div>
            </fieldset>

    Le soucis est que lorsque le bouton radio devient décoché l'élément reste affiché au détriment du deuxième, à savoir les deux éléments s'affichent or ce n'est pas possible si mon utilisateur s'est trompé, en fonction des desiderata des clients il y a 50% de chance que cela arrive.

    Je ne peux pas laisser place au hasard. et je souhaites enlever toutes équivoques à ce problème/

    D'avance merci pour votre aide.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Bonjour, je suis ultra débutant en javascript et je n'y connais donc ultra rien.
    Il n'y a pas besoin de sortir du MIT pour se rendre compte que tu ne remets jamais le display à none...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Points : 54
    Points
    54
    Par défaut
    oui mais comment est-ce que je dois procéder car j'ai tenté en mettant cela.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       document.getElementById("pm").style.display="hidden";
    cela n'a pas fonctionné.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Points : 54
    Points
    54
    Par défaut
    en fait j'avais transformé mon input, mais en dépit de cela, meme quand je clique sur l'autre input button, il ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          <input type="radio" name="categorie" value="personne_morale" onclick="pm('pm'); pm2('pm');" />

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Bovino
    le display à none...
    Citation Envoyé par piotrowski-s
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       document.getElementById("pm").style.display="hidden";
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    C'est document.getElementById('pp').style.display = 'none';
    De plus si tu veux faire un toogle il faut que tu testes si display est à none ou block via if (document.getElementById('pp').style.display == 'none')
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Points : 54
    Points
    54
    Par défaut
    en fait dans le head j'ai modifié
    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
    <script type="text/javascript">
    function pm ()
    {
    document.getElementById("pm").style.display = "block";
    }
    function pm2 (){
       document.getElementById("pm").style.visibility="hidden";
    }
    function pp ()
    {
    document.getElementById("pp").style.display = "block";
    }
    function pp2 (){
       document.getElementById("pp").style.visibility="hidden";
    }
    </script>
    pour les input j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     size="2" face="Verdana">        <label for="categorie">Catégorie</font></b></label>
              <input type="radio" name="categorie" value="personne_morale" onclick="pm('pm');pp2('pp')" />Personne&nbsp;morale&nbsp; 
    <input type="radio" name="categorie"  value="personne_physique" onclick="pp('pp');pm2('pm');" /> Personne physique
    et plus bas mais deux div d'id respectifs ceux écrits dans le javascript en head. Mais la c'est pareil ça ne marche pas.

  8. #8
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    au moins deux soucis :

    > le mélange de display et visibility : fais un choix mais tu ne peux pas afficher en jouant sur l'un et désafficher en jouant sur l'autre, ce sont deux propriétés différentes.
    > les noms de fonctions absurdes

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Points : 54
    Points
    54
    Par défaut
    j'ai résolu mon problème avec jquerry.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script type="text/javascript">
    $(document).ready(function() {
        $("input[name$='categorie']").click(function() {
            var test = $(this).val();
     
            $("div.desc").hide();
            $("#categorie" + test).show();
        });
    });
    </script>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <div id="myRadioGroup">
     
        2 Cars<input type="radio" name="cars" checked="checked" value="2"  />
     
        3 Cars<input type="radio" name="cars" value="3" />
     
        <div id="Cars2" class="desc">
            2 Cars Selected
        </div>
        <div id="Cars3" class="desc" style="display: none;">
            3 Cars
        </div>
    </div>
    ​
    c'est pas évident.

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par piotrowski-s
    j'ai résolu mon problème avec jquerry.


    C'est sûr, intégrer jQuery pour si peu est tellement plus efficace que de changer un visibility: hidden par un display: none...

    Bref, il serait quand même bon de se dire qu'apprendre un langage avant de l'utiliser est la meilleure des solutions !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    voici le soucis, j'ai un formulaire en multi-étapes généré grâce à un plugin jquerry trouvé par ci et la sur le net.
    il fonctionne excellemment bien.
    @Bovino : il est déjà intégré suivant ses dires dans son premier message. Il ne fait que l'exploiter. Même si il est vrai que changer de propriété CSS suffisait à son bonheur.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Arf... pas faux

    Maintenant, une simple exécution pas à pas devrait le persuader que sa solution n'est pas la bonne pour un truc aussi simple...

    Considérer jQuery comme le tapis sous lequel on cache ses lacunes n'est pas une bonne approche
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par piotrowski-s Voir le message
    jquerry.
    Ah ? ils ont sorti une version irlandaise ?

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 03/09/2010, 10h27
  2. OnClick sur bouton Radio
    Par shreck dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/06/2009, 16h01
  3. onclick sur bouton radio
    Par devboy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/06/2007, 17h11
  4. javascript derrière un onclick sur bouton radio
    Par lodan dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/08/2006, 18h03
  5. onclick sur bouton radio?
    Par Art19 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 08/07/2005, 14h43

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