Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/07/2011, 10:15
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Tratamiento de checkboxes

El problema resulta que está en como trata IE el evento onchange, así que la manera de solucionarlo es utilizar el evento onclick.

También puedes quitar las comparaciones del tipo checked == true y dejar sólo checked que ya es de tipo booleano.

Código Javascript:
Ver original
  1. function validarCheck(valor){
  2.    
  3.      
  4.    
  5.    
  6.     if (valor == 0){
  7.         valor = ""
  8.     }
  9.     var checksi = document.getElementById('cumpleSiAF'+valor);
  10.     var checkno = document.getElementById('cumpleNoAF'+valor);
  11.     if(checksi.checked){
  12.         checkno.setAttribute('disabled', 'disabled');    
  13.          
  14.          
  15.     }
  16.     else{
  17.         checkno.removeAttribute('disabled');          
  18.         checkno.focus();
  19.  
  20.     }
  21.     if(checkno.checked){
  22.         checksi.setAttribute('disabled', 'disabled');
  23.     }
  24.     else{
  25.         checksi.removeAttribute('disabled');    
  26.        
  27.     }
  28. }

Código HTML:
Ver original
  1. <td align="center" bgcolor="#E2E3E4">
  2.       <input id="cumpleSiAF1" name="cumpleSiAF1" disabled="disabled" onclick="validarCheck('1');" type="checkbox">
  3. </td>
  4. <td align="center" bgcolor="#E2E3E4">
  5.       <input id="cumpleNoAF1"
  6.                                       name="cumpleNoAF1"
  7.                                       checked="checked" onclick="validarCheck('1');" type="checkbox">
  8. </td>