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 :

Faire disparaitre et apparaitre un div simultanement ?


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Faire disparaitre et apparaitre un div simultanement ?
    Bonjour à tous,

    Je suis aujourd'hui sur ce forum car j'ai un petit souci et j'ai eu beau creuser à droite à gauche sur le net, je ne trouve pas de solution à mon problème (ou alors, des solutions s'en rapprochant mais que je n'arrive pas à mettre en oeuvre ).

    Tout d'abord, je dois préciser que je suis un néophyte total en javascript. J'ai un poil plus de connaissances en php et encore, connaissances est un grand mot...

    Voici mon problème :

    J'ai un formulaire. Dans ce formulaire, un input Select. En dessous du Select, un TextArea.

    En fonction du choix de l'utilisateur sur le select, j'aimerais faire disparaitre le TextArea pour en faire apparaitre un autre (en réalité, 3 autres pour les champs d'une date).

    Hors, si avec une solution OnChange et fonction qui va bien, j'arrive à faire disparaitre le TexteArea, impossible en revanche de faire apparaitre un autre div derrière.

    Voici mon code (celui qui ne marche pas) :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <html>
    <head>
    <title>Title here!</title>
     
    <script language='javascript'>
    function ChangeTextArea(texte)
    {
    if (texte=="autre")
    document.getElementById("Champ1").style.display= 'none';
    document.getElementById("Champ2").style.display= 'block';
    else
    document.getElementById("Champ1").style.display= 'block';
    document.getElementById("Champ2").style.display= 'none';
    }
    </script>
     
    </head>
    <body>
    <FORM ACTION="index.php" name="formulaire">
     
    <SELECT size=1 onchange="ChangeTextArea(this.value)" name=option >
    <OPTION value="un">Un</OPTION>
    <OPTION value="deux">Deux</OPTION>
    <OPTION value="trois">Trois</OPTION>
    <OPTION value="autre">Autre</OPTION>
    </SELECT>
     
    <div id="Champ1" style="display:block">
    <input type="text" name="Event">
    </div>
     
    <div id="Champ2" style="display:none">
    <input type="text" name="Date1">
    <input type="text" name="Date2">
    <input type="text" name="Date3">
    </div>
     
    <input type="submit">
    </form>
    </body>
    </html>

    Auriez-vous une idée d'où vient le problème ? J'avoue qu'après par mal de temps à triturer ce code dans tous les sens, je sèche.

    Merci d'avance !
    Nooky

  2. #2
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Bonjour et bienvenue sur le forum.

    Tu es face à un probleme de syntaxe :
    il faut mettre des accolades pour délimiter tes blocs if et else :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function ChangeTextArea(texte)
    {
      if (texte=="autre") 
      {
      document.getElementById("Champ1").style.display= 'none';
      document.getElementById("Champ2").style.display= 'block';
      }
      else
      {
      document.getElementById("Champ1").style.display= 'block';
      document.getElementById("Champ2").style.display= 'none';
      }
    }

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    La HONTE

    J'avais testé avec des accolades mais manifestement, j'avais oublié de clore le if. Et comme à l'exécution, il n'affiche pas de "syntaxe error" (habitude du php), je n'ai pas pensé à ça.

    Merci infiniment gwyohm

    Nooky

Discussions similaires

  1. Faire disparaitre et apparaitre du texte avec du javascript
    Par edophie dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/03/2011, 22h09
  2. Faire disparaitre et apparaitre une div
    Par kopax dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 16/04/2010, 11h06
  3. Faire disparaitre et apparaitre une div
    Par kopax dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/04/2010, 12h36
  4. action php + faire disparaitre div en javascript
    Par Overstone dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/08/2007, 13h51
  5. Faire apparaitre un DIV dans une zone différente
    Par ThomasH dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 23/10/2006, 14h45

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