Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/11/2007, 07:01
ELL
 
Fecha de Ingreso: noviembre-2007
Mensajes: 3
Antigüedad: 16 años, 5 meses
Puntos: 1
Re: capa para inhabilitar no funciona para botones y links en IE

Ya probé esa línea en mi css pero no funciona. Ésto es lo más importante del css y la función javascript que se llama al pulsar el botón aceptar y que muestra la ventana modal:

body {
font-family: Verdana,Arial,Helvetica;
margin:0 0.8em 0 0.8em;
padding:0;
border:0;
background-color: #FFFFFF;
color: #000000;
font: 100%;
width: 97%;

}

#inhabilitar {
position:absolute;
top: 0;
left: 0;
visibility: hidden;
width:100%;
height:100%;
z-index:99;
border:1;
}

#modal {
display:block;
float:right;
position:absolute;
background: #ffffff;
width: 400;
height: 250;
top: 30%;
left: 30%;
margin: 0.2em 0.2em 0.2em 0.2em;
padding: 0.5em 0.5em 0.5em 0.5em;
color: #000000;
border: #000000 solid 0.2em;
visibility: hidden;
z-index: 100;

}

function mostrarModal() {

document.getElementById('modal').style.visibility= 'visible';
document.getElementById('inhabilitar').style.visib ility='visible';

//para inhabilitar los botones del formulario
Formulario = document.getElementsByTagName('form');
Botones = getElementsByClass('boton', Formulario[0], 'input');
for (i=0;i<Botones.length;i++){
Botones[i].disabled = 'true';
}

}

La segunda parte de la función mostrarModal es lo que he estado haciendo para solucionar parcialmente el problema en el explorer. Así al menos los botones se deshabilitan. También lo podría hacer para los links (ya lo probé), pero les cambia el formato y no nos gustaba. Además, sigo teniendo cajas de texto que no quiero que se puedan editar, y sólo podría deshabilitarlas una a una por su nombre. Esto ocurre porque si deshabilito todos los input en general, luego no me permite recuperar el valor de etiquetas de texto (que también son input), ya que una vez disabled, su valor al hacer get es "".

Lo que más me fastidia es que en el Firefox funciona perfectamente! Gracias por la posible solución propuesta.