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,
    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/
    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. 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. 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" :-(