Javascript

Résolu/Fermé
Utilisateur anonyme - 26 févr. 2009 à 12:03
 Utilisateur anonyme - 28 févr. 2009 à 14:35
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 :-)

6 réponses

zinmes Messages postés 21 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 28 février 2009 50
26 févr. 2009 à 12:43
Bonjour
essayes de mettre un alert(i) dans le onChange
0
Utilisateur anonyme
26 févr. 2009 à 21:42
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
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
26 févr. 2009 à 22:08
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
Utilisateur anonyme
26 févr. 2009 à 22:33
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
27 févr. 2009 à 05:52
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
Utilisateur anonyme
28 févr. 2009 à 14:35
Merci de ta réponse claire et précise Lewis :-)
0