Partage
  • Partager sur Facebook
  • Partager sur Twitter

affichage d'éléments lors d'un clic

afficher un textarea lors d'une sélection dans une liste

Sujet résolu
    11 décembre 2005 à 19:31:51

    Bonsoir!

    Ma question est la suivante:
    J'ai une liste déroulante en xhtml, et je voudrais que lorsque je sélectionne la dernière option seulement, un textarea apparaisse en dessous de cette liste. Pour qu'ensuite je valide le formulaire. Si ce n'était pas la dernière option de la liste qui était sélectionnée, la valeur du textarea serait '' (rien du tout)

    J'espère que vous pourrez m'aider.

    a+
    • Partager sur Facebook
    • Partager sur Twitter
      11 décembre 2005 à 21:54:20

      en bricolant un petit peu j'ai réussi à faire ceci :

      <script>
      function affiche()
      {
              if (document.formulaire.elements['case'].checked == true)
              {
                      document.formulaire.elements['champ'].style.width = "400px";
                      document.formulaire.elements['champ'].style.height = "400px";
                      document.formulaire.elements['champ'].style.display = "block";
              }
              else
              {
              document.formulaire.elements['champ'].style.width = "0";
              document.formulaire.elements['champ'].style.height = "0";
              document.formulaire.elements['champ'].style.display = "none";
              }
      }
      </script>

      <form name="formulaire">
      <input type="checkbox" name="case" onclick="affiche()" />
      <textarea name="champ" style="display: none; height: 0; width: 0;"></textarea>
      </form>


      Mai sil doit y avoir moyen de simplifier le code un petit peu plus lol car c'est assez répétitif :(
      • Partager sur Facebook
      • Partager sur Twitter
        12 décembre 2005 à 10:20:19

        Salut

        Dommage, c'était une liste de type select ;)

        J'avais par contre bricollé ça en regardant plusieurs script déjà faits:

        <script language="text/javascript">
           
            function afficher(formulaire)
            {
                if (formulaire.destination.selectedIndex == "Corbeille")
                {
                    document.getElementById('textarea_raison').style.display = 'block';
                }
                else
                {
                    document.getElementById('textarea_raison').style.display = 'none';
                }
            }
           
            </script>


        et ca

        <select name="destination" onChange="afficher(this.form)">
        <option value="Pas validé">Pas validées</option>
        <option value="En cours">En cours</option>
        <option value="Terminé">Terminées</option>
        <option value="Corbeille">Corbeille</option>
        </select>
        <textarea id="textarea_raison" name="raison" cols="45" rows="10">
        </textarea>


        Mais ca ne fonctionne pas.. Quelqu'un pourrait déceler les erreurs?

        a++
        • Partager sur Facebook
        • Partager sur Twitter
          12 décembre 2005 à 17:20:43

          j'ai déja répondu au même pb hier lol :)

          http://www.siteduzero.com/forum-83-4865-formulaire-et-javascript.html


          <script>
          function affiche()
          {
                  if (document.formulaire.elements['case'].checked == true)
                  {
                          document.formulaire.elements['numero'].style.display = "block";
                  }
                  else
                  {
                  document.formulaire.elements['numero'].style.display = "none";
                  }
          }
          </script>

          <form name="formulaire">
          <input type="checkbox" name="case" onclick="affiche()" />
          <select name="numero" style="display: none;" tabindex="50">
          <option value="1">Twingo - NMO 852</option>
          <option value="2">Clio - JKL 741</option>
          </select>
          </form>
          • Partager sur Facebook
          • Partager sur Twitter
            12 décembre 2005 à 18:00:43

            Salut ben enfait je crois que tu n'as pas tout à fait compris.. moi c'est juste le contraire de ce que tu as répondu ;)

            J'ai la liste, et je veux que ce soit le textarea qui apparaîsse et disparaîsse!
            Et puis je n'ai pas de case à cocher ^^ Donc ta condition ne sert à rien dans mon cas

            a++
            • Partager sur Facebook
            • Partager sur Twitter
              12 décembre 2005 à 21:06:55

              Ben en faisant un petit mix des deux codes j'obtient ceci :


              <script>
              function affiche(valeur)
              {
                      if (valeur == "Corbeille")
                      {
                              document.formulaire.elements['raison'].style.width = "400px";
                              document.formulaire.elements['raison'].style.height = "400px";
                              document.formulaire.elements['raison'].style.display = "block";
                      }
                      else
                      {
                              document.formulaire.elements['raison'].style.display = "none";
                      }
              }
              </script>

              <form name="formulaire">
              <select name="destination" onChange="affiche(this.value)">
              <option value="Pas validé">Pas validées</option>
              <option value="En cours">En cours</option>
              <option value="Terminé">Terminées</option>
              <option value="Corbeille">Corbeille</option>
              </select>

              <textarea id="textarea_raison" style="display: none; height: 0; width: 0;" name="raison"></textarea>
              </form>


              SI j'ai bien compris cette fois-ci sa devrait être bon :D
              • Partager sur Facebook
              • Partager sur Twitter
                13 décembre 2005 à 16:24:49

                Salut

                Je désespère.. ça ne fonctionne toujours pas :(
                Pourtant j'ai presque tout essayé..
                Sinon je peux faire autrement à la limite.. je mets d'office le textarea, et sur la page cible je mets sa valeur à '' si le select n'est pas sur Corbeille.. C'est dommage mais bon..

                Ou alors si tu as une autre solution?

                a+
                • Partager sur Facebook
                • Partager sur Twitter
                  13 décembre 2005 à 16:57:14

                  Comment sa tu désepères ?? je te donne la solution et tu me dis que sa marche pas mdr

                  EDIT : Le script que je t'ai donné fonctionne, je l'ai testé sous IE et Firefox ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 décembre 2005 à 16:58:03

                    Aha.. bizarre.. chez moi pas.. Je vais recontrôler mon code.. étrange, mon cher watson..


                    EDIT: je ne comprends rien.. le code fonctionne en local mais pas sur mon site.. et c'ets exactement le même..

                    EDIT2: après vérification, il y avait une erreur de syntaxe dans mon code :D
                    Merci beaucoup c'est réglé
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 décembre 2005 à 22:45:06

                      Super !! :) Content d'avoir pu t'aider :)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      affichage d'éléments lors d'un clic

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown