Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/07/2011, 23:53
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 6 meses
Puntos: 834
Respuesta: desactivar varios campos checked

Una opción es colocar todos los elementos a deshabilitar dentro de otro que facilite su referenciación. Ejemplo:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin título</title>
<
script type="text/javascript">
var 
DR=function(f){
    if(
document.addEventListener){
        var 
func=function(){f();document.removeEventListener('DOMContentLoaded',func,false);}
        
document.addEventListener('DOMContentLoaded',func,false);
    }else{
        function 
r(f){/in/.test(document.readyState)?setTimeout(function(){r(f);},9):f();};
        
r(f);
    }
};
function 
addEvent(obj,fun,type){ 
    if(
obj.addEventListener){ 
        
obj.addEventListener(type,fun,false); 
    }else if(
obj.attachEvent){ 
        var 
f=function(){ 
            
fun.call(obj,window.event); 
        } 
        
obj.attachEvent('on'+type,f); 
        
obj[fun.toString()+type]=f
    }else{ 
        
obj['on'+type]=fun
    } 
}  
function 
t(id){return document.getElementById(id);}
DR(
    function(){
        
ver();//ojo, acá this referencia a window
        
addEvent(t('pp'),ver,'click');//aquí, en cambio, this referencia al checkbox
    
}   
);
function 
ver(){
    var 
relacionados=t('camposrelacionados').getElementsByTagName('input'),l=relacionados.length,i=0;
    for(;
i<l;i++){
        
relacionados[i].disabled=!this.checked;    
    }
    
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<input name="pp" id="pp" type="checkbox" value="1" />
<div id="camposrelacionados">
<input name="uno" type="text" /><br />
<input name="dos" type="text" /><br />
<input name="tres" type="text" />
</div>
<input name="otrocampo" type="text" />
</form>
</body>
</html> 

Última edición por Panino5001; 06/07/2011 a las 00:14