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 :

Conditionner Affichage selon un bouton radio


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 228
    Points : 101
    Points
    101
    Par défaut Conditionner Affichage selon un bouton radio
    Bonjour a tous,

    J'utilise cette fonction sur un formulaire afin de cacher/ afficher ce qui intéresse le visiteur.

    En gros sur deux bouton radio oui/non j'ai fait un onclic sur les input.
    Quand on coche oui on affiche le contenue de oui et quand on coche non on affiche le contenue de non.

    Mon script fonctionne bien mais j'ai un léger problème.
    si la personne clic sur oui son contenue s'affiche mais si elle reclic sur non derrière le contenu s'affiche aussi sans que le précédent contenu s'affiche.

    Que dois je rajouter pour empêcher que les deux contenu soit afficher en même temps?

    Voila ma fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //afficher cacher
    function visibilite(thingId){
      var targetElement;
      targetElement = document.getElementById(thingId) ;
      if (targetElement.style.display == "none")
      {
      targetElement.style.display = "" ;
      } else {
      targetElement.style.display = "none" ;
    }
    }
    et mon morceau de html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    			<form action="#" id="formulaire_principal">
    			<div><span class="general">Etes vous client <input type="radio" name="choix" value="oui" onclick="javascript:visibilite('contenu');"> oui <input type="radio" name="choix" value="non" onclick="javascript:visibilite('contenu2');"> non</span></div>
    			<div id="contenu" style="display:none;">Elements 1 oui</div>
    			<div id="contenu2" style="display:none;">Elements 2 non</div>
    			</form>
    merci par avance

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    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
    //afficher cacher
    function visibilite(thingId,masquerId){
      var targetElement;
      targetElement = document.getElementById(thingId) ;
      targetElementToHide = document.getElementById(thingId) ;
     
    targetElementToHide.style.display == "none";
     
      if (targetElement.style.display == "none")
      {
      targetElement.style.display = "" ;
      } else {
      targetElement.style.display = "none" ;
    }
    }
    en ajoutant a l'appel de la méthode :
    visibilite('contenu','contenu2') par exemple
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 228
    Points : 101
    Points
    101
    Par défaut
    merci pour ta réponse je viens de remplacer ma fonction par la tienne cela ne semble pas fonctionner d'avantage.

    Comment puis-je faire?

    Merci par avance

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Voire sans fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="radio" name="choix" value="oui" onclick="if(document.getElementById('contenu').style.display=='none'){document.getElementById('contenu').style.display='block;document.getElementById('contenu2').style.display='none';" />
    <input type="radio" name="choix" value="non" onclick="if(document.getElementById('contenu2').style.display=='none'){document.getElementById('contenu2').style.display='block;document.getElementById('contenu').style.display='none';" />

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Oops, la meme en correct:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="radio" name="choix" value="oui" onclick="if(document.getElementById('contenu').style.display=='none'){document.getElementById('contenu').style.display='block';document.getElementById('contenu2').style.display='none';}" />
    <input type="radio" name="choix" value="non" onclick="if(document.getElementById('contenu2').style.display=='none'){document.getElementById('contenu2').style.display='block';document.getElementById('contenu').style.display='none';}" />

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 228
    Points : 101
    Points
    101
    Par défaut
    merci beaucoup a tous les deux

    Sujet resolu

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour tout le monde,

    Je me suis aussi lancé dans l'utilisation de cette fonction mais je n'arrive pas à la faire fonctionner.

    Pour faire plus simple, je n'ai pas compris ce que voulais dire "le_chomeur" lorsqu'il dit :

    en ajoutant a l'appel de la méthode :
    visibilite('contenu','contenu2') par exemple
    est-ce cela qui est suggéré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function visibilite(contenu,contenu2){
    Merci pour la réponse,

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

Discussions similaires

  1. [AJAX] actualiser div selon choix bouton radio
    Par Raph87 dans le forum AJAX
    Réponses: 17
    Dernier message: 29/04/2011, 05h46
  2. affichage avec 2 boutons radio
    Par L'aigle de Carthage dans le forum Langage
    Réponses: 2
    Dernier message: 22/04/2008, 09h37
  3. Afficher/cacher une liste selon des boutons radios
    Par Machin3000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/01/2008, 18h26
  4. action de formulaire selon le bouton radio?
    Par anis_el_madani dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/05/2007, 10h00
  5. executer un fct selon le bouton radio
    Par BigBarbare dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/06/2006, 10h50

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