Simple fonction Javascript

Alec -  
Defouille Messages postés 404 Statut Membre -
Bonjour,
J'ai un code javascript que je met habituellement directement dans la balise, mais je souhaite créer une fonction afin que ce soit plus propre.
onChange="location = this.options[this.selectedIndex].value"

Je ne sais pas trop comment m'y prendre pour mettre le location = ... dans les instructions de la fonction.

<script>
function AccesRapide()
{
}
</script>


Merci
A voir également:

2 réponses

Defouille Messages postés 404 Statut Membre 54
 
Bonjour,

C'est pas très compliqué ^^ :

javascript :
<script> 
function AccesRapide(elem) 
{ 
    location = elem.options[this.selectedIndex].value 
} 
</script>


et en html :
... onChange="AccesRapide(this)" ... 


(sur un select hein)

Il y a seulement 10 types de personnes, ceux qui comprennent le binaire, et les autres...
0
Alec
 
Salut, merci de ta réponse sauf que ce ne fonctionne malheureusement pas... Je met le onChange sur la balise Select et le value sur chaque Option, mais en vain.

Je ne suis pas très fort Javascript, mais à force de rechercher sur le Web j'étais tombé sur un code du genre
function AccesRapide()
{ 
var cible;
cible = this.options[this.selectedIndex].value;
location.href = cible;
}

Sauf qu'il ne fonctionne pas plus que le tien...

Quelqu'un aurait une idée?
0
Defouille Messages postés 404 Statut Membre 54
 
Correctif :

location = elem.options[elem.selectedIndex].value 


Autant pour moi !
0
Alec
 
Merci beaucoup!! Ça fonctionne parfaitement!
Pourrais-tu m'expliquer en bref la différence entre this et elem?

Encore merci
0
Defouille Messages postés 404 Statut Membre 54
 
Lorsque tu définis l'appel d'une fonction sur un élément en html :
...onChange="location = this.options[this.selectedIndex].value"...

this représente l'élément en question (tu peux donc passer l'élément qui subit l'évènement au javascript).

Dans notre cas on passe l'élément en paramètre à la fonction :
... onChange="AccesRapide(this)" ... 


La fonction récupèré cet élément en paramètre, mais son nom est différent dans la fonction :
function AccesRapide(elem) // ici elem en javascript = this du html
{ 
    location = elem.options[this.selectedIndex].value 
} 


J'espère que tu as compris ^^
0