plan_B: onclick img-src ändern funktioniert nur bei firefox

Beitrag lesen

Hallo,

nachdem ich nun die Antworten gelesen habe, kann ich mir langsam einen Reim auf deine Konstruktion machen. Anscheinend gefallen dir die vom Browser erzeugten checkbox-Symbole nicht und möchtest sie durch eigene ersetzen.

dazu hast du die checkboxen unsichtbar gemacht ( wie? ). Kann man sie dann noch anclicken?
Ist dir bewusst, dass nur angekreuzte Inputfelder im Formular versendet werden? deine div-clicks ändern aber nicht das checked-Attribut des Inputelements.

mit der Nutzung von <label> geht alles viel einfacher.

  
label.lbl1 input {visibility:hidden;  }  
label.lbl1 img { width:16px; height:16px; margin-left:-16px;}  

  
function chg1(elem) {  
 alert("change: "+ elem.name +"  "+elem.checked);  
 var label = elem.parentNode;  
 var img = elem.nextSibling;  
 if ( img.nodeName != "IMG" ) {  
  alert(" kein img gefunden");  
 } else {  
  img.alt = elem.checked ? 'X' : ' ';  
  img.src = elem.checked ? 'pics/X.gif' : 'pics/spacer.gif';  
  elem.value= elem.checked ? 1 : 0;  // unötig ?  
 }  
}  

  
<label class="lbl1" for="nutzungsb"><input type="checkbox" name="nutzungsb" id="nutzungsb" value="0" onchange="chg1(this)" /><img src="pics/spacer.gif" alt=" " /> Nutzungsbedingungen gelesen  
</label><br/>  
  
<label class="lbl1" for="datenschutzb"><input type="checkbox" name="datenschutzb" id="datenschutzb" value="0" onchange="chg1(this)" /><img src="pics/spacer.gif" alt=" " /> Datenschutzbedingungen gelesen  
</label><br/>  

testet man das ganze jetzt mit dem IE (bei mir IE6) stellt man fest, dass der IE unsichtbare Checkboxen nicht verändert.
Legt man statt dessen die Bilder über sichtbare Checkboxen, sind die die Checkboxen wahrscheinlich noch sichtbar.

Gruß plan_B

--
     *®*´¯`·.¸¸.·