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 :

Afficher un div lors d'une sélection


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 55
    Points
    55
    Par défaut Afficher un div lors d'une sélection
    Bonjour

    J'aurais besoin d'une petite aide en création javascript :

    J'ai la portion de code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <form method="post" action="test.php" name="envoyer_form">
     
    <select name="select_mat">
    <option value="1">Value = 1</option>
    <option value="autre">Autre...</option>
    </select>
     
    <div id="choisir" style="display:none">
    <input type="text" id="input_connexion" name="saisir_choisir" />
    </div>
     
    </form>
    Et je cherche à faire en sorte que lorsque l'option "autre" est sélectionnée, le div à l'id "choisir" devienne visible...

    Pourriez-vous me fournir ce petit coup de main ?

    Merci d'avance

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Cela devrait t' aider a écrire ta fonction

    <select name="select_mat" onchange="alert(this.options[this.selectedIndex].value)">
    <option value="1">Value = 1</option>
    <option value="autre">Autre...</option>
    </select>

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 55
    Points
    55
    Par défaut
    Pas du tout... A vrai dire je n'y connais pas grand chose en javascript Quand j'aurai le temps, je me suis déjà promi de m'y de plein pied. Pour l'instant je ramerais à essayer d'écrire cette fontion...

  4. #4
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Voyons voyons une petite prise de tête de 30 minutes c' est pas la mer à boire ^^ :
    Perso j' ai pas le temps de te coder toute la fonction et php étant plus ma tasse de thé mais ca donnerait quelquechose comme ca algorithement parlant:

    function show(id)
    {
    var array_div = array('div1','div2','div3','div4); //tableau contenant tous les id de tes div
    for(x=0;x<=array_div.length;x++)
    {
    if(array_div[x]==id)
    document.getElementById(id).visible='visible';
    else
    document.getElementById(id).visible='hidden';
    }
    }

    <select name="select_mat" onchange="show(this.options[this.selectedIndex].value)">
    <option value="div1">Value = 1</option>
    <option value="div2">Autre...</option>
    <option value="div3">Autre...</option>
    <option value="div4">Autre...</option>
    </select>

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    j' ai profité de la pause clope de mon collègue pour te rédiger ta fonction

    <html>
    <head>
    <script language='Javascript'>
    function show(id)
    {
    var array_div = new Array('div1','div2','div3','div4'); //tableau contenant tous les id de tes div
    for(x=0;x<array_div.length;x++)
    {

    document.getElementById(array_div[x]).style.visibility='hidden';
    }
    document.getElementById(id).style.visibility='visible';
    }
    </script>
    </head>
    <body>


    <select name="select_mat" onchange="show(this.options[this.selectedIndex].value)">
    <option value="div1">Value = 1</option>
    <option value="div2">Autre...</option>
    <option value="div3">Autre...</option>
    <option value="div4">Autre...</option>

    </select>
    <div id='div1'>div1</div>
    <div id='div2'>div2</div>
    <div id='div3'>div3</div>
    <div id='div4'>div4</div>
    </body>
    </html>

  6. #6
    Invité
    Invité(e)
    Par défaut
    Il y a plus simple :

    Modif HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="select_mat" onchange="javascript:afficherDiv(this)">
    JavaScript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function afficherDiv(menuSelect) {
        var div = document.getElementById("choisir");
        if (menuSelect.selectedIndex.value == "autre") {
              div.style.display = "block";
        }
        else {
              div.style.display = "none";
        }
    }
    Enfin, un truc du genre!

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 55
    Points
    55
    Par défaut
    Merci à tous les deux

    J'ai pris ton script webrider, mais il ne fonctionne pas... Je n'arrive pourtant pas à comprendre l'origine du problème, peut-être la synthaxe.

    Voici le code complet :

    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
     
    <script type="text/javascript" language="JavaScript">
    function afficherDiv(menuSelect) {
        if (menuSelect.selectedIndex.value == "autre") {
              document.getElementById("choisir").style.display = "block";
        }
        else {
              document.getElementById("choisir").style.display = "none";
        }
    }
    </script>
     
    <form method="post" action="test.php" name="envoyer_form">
     
    <select name="select_mat" onchange="javascript:afficherDiv(this)">
    <option value="1">Value = 1</option>
    <option value="autre">Autre...</option>
    </select>
     
    <div id="choisir" style="display:none">
    texte ....
    </div>
     
    </form>

  8. #8
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 13
    Points
    13
    Par défaut

  9. #9
    Invité
    Invité(e)
    Par défaut
    Je ne sais pas si tu écris ce code tel quel mais tu dois déclarer le script dans le <head> et le form dans le <body> de ta page. C'est peut-être ça qui te pose problème.

  10. #10
    Invité
    Invité(e)
    Par défaut
    J'ai fait le test et effectivement j'ai fait une erreur dans le code

    Ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (menuSelect.selectedIndex.value == "autre") {
    Il ne doit pas y avoir de selectedIndex ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (menuSelect.value == "autre") {
    Code complet testé :
    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
    <head>
    <script type="text/javascript">
    function afficherDiv(menuSelect) {
        if (menuSelect.value == "autre") {
              document.getElementById("choisir").style.display = "block";
        }
        else {
              document.getElementById("choisir").style.display = "none";
        }
    }
    </script>
    </head>
    <body>
    <form method="post" action="test.php" name="envoyer_form">
     
    <select name="select_mat" onchange="javascript:afficherDiv(this)">
    <option value="1">Value = 1</option>
    <option value="autre">Autre...</option>
    </select>
     
    <div id="choisir" style="display:none">
    texte ....
    </div>
     
    </form>
    </body>

  11. #11
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup, cette fois c'est parfait

    th0mas > J'ai appris de nouvelles choses en comprenant ton script, mais il était un peu poussé pour ce que je voulais faire : je ne voulais afficher un div que lorsque la dernière option était sélectionnée, et non un div différent pour chaque option

  12. #12
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Pense à cliquer sur
    Bonne continuation

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

Discussions similaires

  1. Afficher les colonnes lors d'une extraction oracle
    Par griese dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 08/12/2006, 16h20
  2. Affichage d'une page dans un <DIV> lors d'une redirection
    Par zoidy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 12/06/2006, 16h57
  3. [VB.NET]Comment afficher 1 progressbar lors d'une lecture fichier ?
    Par evlp2004@hotmail.com dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/05/2006, 09h00
  4. [W3C] Est-il possible d'afficher un div par dessus une applet ?
    Par drinkmilk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 23/02/2005, 10h22
  5. Redirection automatique lors d'une sélection dans un Select
    Par MiJack dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/12/2004, 18h09

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