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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    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 confirmé
    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
    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 confirmé
    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
    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 Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    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

  6. #6
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    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

  7. #7
    Membre confirmé
    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
    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
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    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

+ 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