la funzione js sotto riportata sostituisce delle immagini al posto di imput checkbox.
quando si clicca sopra applica un seconda immagine a seconda se il checkbox sia checked e viceversa.
ho notato un bug con firefox relativo al caso in cui i checkbox presenti nella form c'è ne siano solo 1.
di fatto dopo un primo click tutti i successivi non fanno ciò che checkChange() chiede; bisogna perforza cliccare su di un altro elemento checkbox.
se vedete qualcosa di anomalo....![]()
_______________________________________________
var CheckBox;
var imgFalse = '/icone/check_link_disable.gif';
var imgTrue = '/icone/check_link.gif';
function replaceChecks() {
CheckBox = document.getElementsByTagName('input');
for(var i=0; i < CheckBox.length; i++) {
if(CheckBox[i].getAttribute('type') == 'checkbox') {
var img = document.createElement('img');
if(CheckBox[i].checked) {
img.src = imgTrue;
} else {
img.src = imgFalse;
}
img.id = 'checkImage'+i;
img.onclick = new Function('checkChange('+i+')');
CheckBox[i].parentNode.insertBefore(img, CheckBox[i]);
CheckBox[i].style.display='none';
}
}
}
function checkChange(i) {
if(CheckBox[i].checked) {
CheckBox[i].checked = '';
document.getElementById('checkImage'+i).src=imgFal se;
} else {
CheckBox[i].checked = 'checked';
document.getElementById('checkImage'+i).src=imgTru e;
}
}
ovviamente al body unload deve partire replaceChecks();