OnChange hors de la balise SELECT
Résolu/Fermé
Mnu
Messages postés
97
Date d'inscription
mercredi 11 avril 2001
Statut
Membre
Dernière intervention
9 janvier 2008
-
25 janv. 2006 à 15:27
Isabelle - 24 mars 2008 à 11:15
Isabelle - 24 mars 2008 à 11:15
A voir également:
- OnChange hors de la balise SELECT
- Apparaitre hors ligne instagram - Guide
- Gps hors ligne - Guide
- Reboot and select proper boot device - Forum Windows
- Balise br - Forum CSS
- Balise <br> HTML ✓ - Forum HTML
2 réponses
Mnu
Messages postés
97
Date d'inscription
mercredi 11 avril 2001
Statut
Membre
Dernière intervention
9 janvier 2008
16
24 sept. 2007 à 23:26
24 sept. 2007 à 23:26
Merci merci... je viens (tardivement) de lire ta réponse: elle est relativement obscure encore pour moi, mais je vais y travailler...
En tout cas, merci d'avoir pris le temps de me répondre !
En tout cas, merci d'avoir pris le temps de me répondre !
Oui, c'est faisable.
Il te faut pour celà une fonction pour attacher un gestionnaire d'évènement (une fonction) à l'évènement onchange de ta balise SELECT.
Ensuite, il faut que tu appelles cette fonction au chargement de ta page. (obligé d'attendre le chargement de ta page, sinon ton document.getElementById() ne te renverra rien, et le gestionnaire d'évènement ne sera pas lié à la balise.
ma_fonction est le nom de ta fonction qui sera appellée sur l'évènement onchange de la balise. Elle reçoit un paramètre implicite à savoir l'évènement, ou rien pour IE. Donc, pour IE, on récupère l'évènement que reçoit la fenêtre. A partir de cette évènement, tu peux remonter à la source de cette évènement (la balise select) grace à la propriété target(navigateurs DOM) ou source (IE) pour récupérer sa valeur.
Is it allright ?
Il te faut pour celà une fonction pour attacher un gestionnaire d'évènement (une fonction) à l'évènement onchange de ta balise SELECT.
function attachEvent(o,e,f,c){ if(o.addEventListener) o.addEventListener(e,f,c); else if(o.attachEvent) o.attachEvent("on"+e,f); else eval("o.on"+e+"="+f) }
Ensuite, il faut que tu appelles cette fonction au chargement de ta page. (obligé d'attendre le chargement de ta page, sinon ton document.getElementById() ne te renverra rien, et le gestionnaire d'évènement ne sera pas lié à la balise.
function init(){ attachEvent(document.getElementById('select2'),'change',ma_fonction,false); } window.onload = init ;
ma_fonction est le nom de ta fonction qui sera appellée sur l'évènement onchange de la balise. Elle reçoit un paramètre implicite à savoir l'évènement, ou rien pour IE. Donc, pour IE, on récupère l'évènement que reçoit la fenêtre. A partir de cette évènement, tu peux remonter à la source de cette évènement (la balise select) grace à la propriété target(navigateurs DOM) ou source (IE) pour récupérer sa valeur.
function ma_fonction(e){ var source = (document.all)?window.event.srcElement:e.target ; alert('valeur du select = '+source.options[source.selectedIndex].value) ; }
Is it allright ?
24 mars 2008 à 11:15
depuis le temps, tu dois avoir la réponse à ta question.
Mais bon, on sait jamais... et puis ça peut servir à d'autres personnes !
L'erreur était simplement que lorsque tu affectes une méthode à un événement, lorsque tu ne décris pas la fonction (mais que tu références la méthode, comme tu le faisais), il ne faut pas de parenthèses derrière le nom de la méthode ! ;-)
J'ai eu le même souci hier soir et comme firefox ne donnait pas d'erreur dans la console, j'ai mis du temps à trouver... !
Bonne continuation,
Isabelle