Javascript

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
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. zinmes Messages postés 22 Date d'inscription   Statut Membre 50
     
    Bonjour
    essayes de mettre un alert(i) dans le onChange
    0
  2. Utilisateur anonyme
     
    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" :-(
    0
  3. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    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..

    @+
    0
  4. Utilisateur anonyme
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    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/
    0
  7. Utilisateur anonyme
     
    Merci de ta réponse claire et précise Lewis :-)
    0