Bonjour tout le monde,

Voilà un bon petit moment que je cherche un moyen compatible de modifier l'événement onClick d'un input en javascript

J'ai suivi l'exemple de la FAQ, mais cela ne marche pas dans mon cas, alors j'appelle au secours

Dans un 1er temps, je suis passé par un setAttribute('onClick', mafonction)
Ceci fonctionne très bien sur firefox, mais génère une erreur sur IE

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Cet objet ne gère pas cette propriété ou cette méthode
J'ai donc essayé d'acceder directement à l'objet onclick comme expliqué dans la FAQ.
Cela ne marchait pas, alors j'ai directement copier l'exemple de la FAQ dans mon code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
aInputs[j].onclick=function(){alert(blabla)};
Voici mon code, en fait, je cherche tous les inputs text compris dans une ligne de tableau, et je souhaite modifier leur événement onClick

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
    aTds=aTable[0].getElementsByTagName('td');
    for (var i=0; i<aTds.length;i++)
    {
        var strNewIdOnGoing=""
        var aInputs=aTds[i].getElementsByTagName('input');
        if(aInputs.length>0)
        {
            for(var j=0; j<aInputs.length;j++)
            {
                if(aInputs[j].type=='text')
                {		
                    if(intRowCounter==0)
                        strInputIdCreatedByDefault=aInputs[j].getAttribute('id');
                    //alert(strIdOnGoing);
                    strNewIdOnGoing=strInputIdCreatedByDefault + '_' +  intRowCounter
                    aInputs[j].setAttribute('id', strNewIdOnGoing)
                }
 
                if(aInputs[j].type=='button')
                {
                    strOnClick = aInputs[j].getAttribute('onClick');
                    //alert(strInputIdCreatedByDefault + ' ||||| ' + strNewIdOnGoing);
                    //Sous mozilla, ça fonctionne bien avec setAttribute
                    // si on fait .onclick, le onclick du dom est modifié, mais quand on affiche le source on voit qu'il n'y est pas
                    // Sous IE , setAttribute et onclick génèrent une erreur
                    strOnClick = strOnClick.replace(strInputIdCreatedByDefault,strNewIdOnGoing);
                    //aInputs[j].setAttribute('onclick', strOnClick);
					//La ligne ci dessous ne fait rien sous firefox, et génère une erreur sous IE
                    aInputs[j].onclick=function(){alert(blabla)};
                }    
            }
        }
    }

Auriez-vous une idée ?

Merci bien !

@+.