Ver Mensaje Individual
  #12 (permalink)  
Antiguo 19/11/2010, 02:40
ninonna
 
Fecha de Ingreso: septiembre-2010
Mensajes: 34
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: checkBox.checked no funciona en IE8

Gracias por la corrección, no me habia dado cuenta que lo tenia al revés.. lo he cambiado, pero el estado del checkBox sigue sin funcionar. Seguí toqueteando y encontré la solución, adjunto la situación que no funciona y la que si, por si alguien se encuentra en esto..
Antes el código era:
Creación del checkbox en el Form de Zend:
Código PHP:
$this->addElement(
        
'checkbox',
        
'esexitus',
        array(
'required' => false'checked'=>0'label' => 'Éxitus''onclick'=>'gestioExitus()')
        ); 
Se muestra el check box en la vista .html:
Código HTML:
<td> <?php echo $form->esexitus->renderLabel(). $form->esexitus->renderViewHelper() ?></td> 
Desde el javascript de la vista, se gestiona si el checkbox 'esexitus' está marcado o no:
function gestioExitus(){
exitus= document.getElementById('esexitus');
if(exitus.checked==true) { <-- ESTO EN IE8 NO ME FUNCIONA
document.getElementById('dataexitus').disabled=fal se;
}else document.getElementById('dataexitus').disabled=tru e;
}

El problema se soluciona si a la función javascript 'gestioExitus' se le pasa el propio checkbox (desde el form). Quedaria de la siguiete forma:

Creación del checkbox en el Form de Zend:
Código PHP:
$this->addElement(
        
'checkbox',
        
'esexitus',
        array(
'required' => false'checked'=>0'label' => 'Éxitus''onclick'=>'gestioExitus([COLOR="Red"]this[/COLOR])')
        ); 
Se muestra el check box en la vista .html:
Código HTML:
<td> <?php echo $form->esexitus->renderLabel(). $form->esexitus->renderViewHelper() ?></td> 
Desde el javascript de la vista, se gestiona si el checkbox 'esexitus' está marcado o no:
function gestioExitus(exitus){
// exitus= document.getElementById('esexitus'); <-- ESTO FUERA if(exitus.checked==true) {
document.getElementById('dataexitus').disabled=fal se;
}else document.getElementById('dataexitus').disabled=tru e;
}

De este modo funciona me funciona en IE8 i firefox, aunque sigo sin entender porque antes no funcionava...
Muchas gracias por los consejos y la paciencia!!
saludos