Un bout de javascript qui ne marche pas sous IE

Un bout de javascript qui ne marche pas sous IE - HTML/CSS - Programmation

Marsh Posté le 29-04-2006 à 14:09:50    

Bonjour !
 
Voici un bout de code de Javascript qui permet de changer l'apparence des checkbox.
(je l'ai copié d'un site)
 
Sous firefox, nickel, sauf que les cases qui sont "checked" initialement ne sont plus modifiables, cad qu'on ne peut plus les décocher.
 
Sous IE, les checkbox prennent l'apparence que je veux (cad une image, ici rempli.gif et nonrempli.gif) mais on ne peut ni cocher, ni déchocher aucune case.
 
Est ce que quelqu'un a déjà rencontré ce problème et pourrait m'aider svp ?
Merci d'avance.
 
 
Voici lebout de code : -------------------------  
 
function chgCB0(){  
 CHKB = document.getElementById('newCB').getElementsByTagName('input');  
 for(i=0; i < CHKB.length; i++){    
  if(CHKB[i].type == "checkbox" ){      
  IMG = document.createElement('img');      
  CHKB[i].parentNode.insertBefore(IMG, CHKB[i]);      
  IMG.src = "img/nonrempli.gif";          
  if(CHKB[i].checked  == true) IMG.src = "img/rempli.gif";      
  else{      
  CHKB[i].onchange = function(){          
   IMG = this.parentNode.getElementsByTagName('img')[0];            
   if(this.checked == true) IMG.src = 'img/rempli.gif'          
   else IMG.src = 'img/nonrempli.gif'        
  }        
  if(!window.sidebar){          
   CHKB[i].parentNode.onclick = function(){            
    CASE0 = this.getElementsByTagName('input')[0];            
     CASE0.checked = (CHK.checked == true) ? false : true;            
     CASE0.onchange()          
    }        
   }      
  }      
  CHKB[i].style.visibility = "hidden";      
  CHKB[i].style.position   = "absolute";    
 }  
}
 
}
 
window.onload = chgCB0;
 
----------------------------------
 
*** les CASEi sont les checkbox.

Reply

Marsh Posté le 29-04-2006 à 14:09:50   

Reply

Marsh Posté le 29-04-2006 à 14:41:26    

celui qui a codé ça avait une bonne idée d'utiliser le JS par le DOM, mais il a mal codé son truc, il a oublié quelques petites choses :o

Reply

Marsh Posté le 29-04-2006 à 14:55:38    

je viens de m'apercevoir que le gars a surtout oublié de gerer le onclick sur l'image après [:petrus75]

Reply

Marsh Posté le 29-04-2006 à 16:33:19    

Reply

Marsh Posté le 30-04-2006 à 19:24:23    

Merci bcp !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed