Kamarada_Malkav: FELICITACIONES¡¡ por tan maravillosa solución, en mi opinión es bastante limpia. Te voy a mostrar como lo solucioné yo.
Código:
<script>
function DisableEnableForm(xForm){
objElems = xForm.elements;
for(i=0;i<objElems.length;i++){
if(objElems[i].type == "checkbox"){
continue;
}
if(objElems[i].type == "radio"){
objElems[i].disabled = true;
continue;
}
objElems[i].readOnly = true;
objElems[i].style.backgroundColor="#FFFFFF";
}
}
function block_checkbox(control){
if(control.checked){
control.checked=false;
}else{
control.checked=true;
}
}
</script>
EXPLICACIÓN:
con la primera función, recorro todos los elementos del formulario. Si el elemento es un checkbox continuo porque la propiedad disabled en este control lo hace ver muy mal; si es radio si se la puedo aplicar, y el resto de elementos les aplico readonly, que es una propiedad que bloquea el input permitiendo agregarle un CSS que es lo que no nos permite el IE. Con la segunda función lo que hago es que cuando se de click a un checkbox, automaticamente se vuelve a clickear obteniendo el mismo resultado en el que estaba
. Este último no es que sea muy brillante, pero funciona a la perfección.
Saludos