Javascript

Résolu
Bonjour a tous,

Je sollicite votre aide car j'ai un script a réaliser, dans ce script, je dois faire une liste

déroulante...que je dois impérativement remplir avec du JavaScript, jusque la il n'y a

pas de problème...

Ensuite je voudrais récupérer la valeur choisie de la liste déroulante dans une variable et l'afficher

dans un "alert()" , et la le problème se pose

Je sais que je dois utiliser l'événement "onChange" mais ensuite je suis perdu...

Que puis - je faire ?

Le script étant celui ci :

<html>
<head>
</head>
<body>
<form name="Formulaire">
CHOISIR : <select name="Duree" onChange="recup()">
<option> ...Choisissez... </option>
</select>

<script type="text/javascript">
document.Formulaire.Duree.length = 21;
for (var i=1; i < 21; i++) {
document.Formulaire.Duree.options[i].text = i;
}
</script>
</form>
</body>
</html>

Le remplissage fonctionne très bien...

Dans l'attente de vos réponses,

Passez une agréable journée, et merci d'avance pour votre aide :-)
Configuration: Windows XP
Firefox 3.0.6

6 réponses

  1. Merci Zinmes, d'avoir pris le temps, mais quand je le fait il m'affiche dans le "alert" la longueur de la liste déroulante... en occurrence "21" :-(
    1. bonsoir rapidement pour rsesoudre ton probleme
      <html>
      <head>
      <script type="text/javascript" language="javascript">
      function recup(x)
      {
      alert(x);
      }
      </script>
      </head>
      <body>
      <form name="Formulaire">
      CHOISIR : <select name="Duree" onChange="var x=this.value ; recup(x); ">
      <!--
      pour faire simple tu peut faire aussi comme ça
      CHOISIR : <select name="Duree" onChange="var x=this.value ;alert(x);">
      -->
      <option> ...Choisissez... </option>
      </select>
      
      <script type="text/javascript">
      document.Formulaire.Duree.length = 22; //si tu veut 21 item faut que ton tableau finisse a 22 le depart est considere a 0
      for (var i=1; i < 21; i++) {
      document.Formulaire.Duree.options[i].text = i;
      }
      </script>
      </form>
      </body>
      </html> 
      

      explication :
      tu appelle une fonction, recup , que tu n'a pas definie

      donc dans onchange je declare ma variable x je l'envoie a recup et clic clac kodak..

      @+
      1. Réponse et explication PARFAITES :-) Merci mais une autre question

        this.value sert a quoi, c'est a titre de connaissance sinon je te remercie infiniment :-) Lewis34
        1. merci,
          alors this.value , si tu capte un peu l'anglais celaz signifie litteralement cette valeur...
          donc dans ce ca s je declare x en 1er (sinon il y auar une erreur ) puis je dis qu'elle aura la valeur du champ dans lequel elle est déclarée
          this => indique que c'est ce champ value=> la valeur
          petit exemple rapide , un champ input, appelé nom dans un formulaire appelé test et 4 boutons qui affiche la valeur contenue dans le champ mais appelée d'une maniere différente

          amuse toi a retaper le code si tu veut
          <html>
          <head>
          <script type="text/javascript" language="javascript">
          function test1()
          {
          /*
          ca va t'afficher simplement le contenu du champ texte  mais en recuperant la valeur contenue dedans de plsuieurs maniere
          pour ça pense toujours bien à mettre un ID dans dans champs input
          */
          //recup du nom par l'id
          //je recupere le contenu du champ qui a un id=nom
          var nom_id=document.getElementById("nom").value;
          alert('document.getElementById  =  '+ nom_id);
          }
          
          function test2()
          {
          //je recupere le contenu du champ qui a un name=nom
          
          var nom_name=document.getElementsByName("nom")[0].value;
          alert('document.getElementsByName=  ' + nom_name);
          }
          function test3()
          {
          //je recupere le contenu du champ qui a un id=nom,et que je localise grace au nom du form
          var nom_form=document.test.nom.value;
          alert('document.test.nom.value =  ' + nom_form);
          }
          function test4(x)
          {
          // je recupere simplement ce que m'a envoyé la fonction avec this.value
          alert('this. value =  '+ x + ' \n\n la c\'est le libellé du bouton que je recupere car j\'ai assigné à x la valeur du bouton' );
          }
          </script>
          </head>
          <body>
          <form name="test" id="test" action="" />
          <input type="text" name="nom" id="nom" value=""/><br /><br />
          <input type="button" name="" id="" value="je recupere le contenu du champ qui a un id=nom" onClick="test1();" /><br /><br />
          <input type="button" name="" id="" value="je recupere le contenu du champ qui a un name=nom" onClick="test2();" /><br /><br />
          <input type="button" name="" id="" value="e recupere le contenu du champ qui a un id=nom,et que je localise grace au nom du form" onClick="test3();" /><br /><br />
          <input type="button" name="" id="" value="je recupere simplement ce que m'a envoyé la fonction avec this.value" onClick="var x =this.value;test4(x);" /><br /><br />
          
          <input type="submit" name="ok" value="test JS"/>
          </form>
          </body>
          </html> 
          


          pour t'aider regarde ici
          https://www.toutjavascript.com/reference/