Problème lorsque j'attache un evt onclick

RG -  
 RG -
Bonjour,

Comme vous vous en doutez, j'ai un petit soucis,

je souhaite ajouter gérer l'évènement "onClick" sur un objet de type "input" "checkbox" crée dynamiquement en DOM, il marche très bien sur Firefox mais sur IE 6.0, je n'y parvient pas. Voici le code :

var targetCheckBox = document.createElement('input') ;
targetCheckBox.setAttribute('type', 'checkbox') ;

//IExplorer
if (document.all)
{
targetCheckBox.addEventListener("click", function(){ toggle(this, id) ;}, false) ;
}
//Firefox
else
{
var onClickAction = "toggle(this, " + id + ");" ;
targetCheckBox.setAttribute("onClick", onClickAction) ;
}

la méthode qui est appelée est la suivante.
function toggle(checkbox, modelid)
{
if (checkbox.checked)
{
alert("checkbox " + modelid + " checked : " + checkbox.checked) ;
//return addObjectAsSearchTarget(modelid) ;
}
else
{
alert("checkbox " + modelid + " unchecked : " + checkbox.checked) ;
//return removeObjectFromSearchTargets(modelid) ;
}
}


J'ai passé quelques bonnes heures à chercher une solution mais ça ne fonctionne pas et je ne sais plus quoi faire.

Pour IE, j'ai ausi essayé :

targetCheckBox.addActionListener("click", toggle(this, id), false) ;
et
targetCheckBox.onclick = function(){ toggle(this, id) ; } ;

Merci d'avance, pour vos éventuelles remarques et solutions.

1 réponse

RG
 
Plus besoin d'aide, j'ai trouvé ;) !

Merci quand même à ceux qui y avait jeté un coup d'oeil !

Pour toute personne qui rencontrerait le même problème avec Iexplore,

remplacer la première ligne en gras par :

targetCheckBox.onclick = new Function('toggle(' + i + ', ' + id + ')') ;

D'autres solutions sont détaillées là :

https://codes-sources.commentcamarche.net/

La seule différence est que je passe un id au lieu de l'objet checkbox pour des raisons stratégiques ;).

Excellente soirée à tous.

RG
0