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.
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 ?
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