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

2 réponses

  1. 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
  2. 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
    1. Defouille Messages postés 404 Statut Membre 54
       
      Correctif :

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


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

      Encore merci
      0
    3. 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