Simple fonction Javascript

Fermé
Alec - 18 août 2010 à 00:43
Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 - 18 août 2010 à 10:48
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 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
Modifié par Defouille le 18/08/2010 à 08:53
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
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 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
18 août 2010 à 09:27
Correctif :

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


Autant pour moi !
0
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 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
18 août 2010 à 10:48
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