Ver Mensaje Individual
  #15 (permalink)  
Antiguo 22/05/2011, 11:58
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
Puntos: 834
Respuesta: Condiciones if()

Entiendo que tenés varios "grupos" de checkboxes y lo que necesitás es evaluar por grupo. Si es así, lo que podés hacer es agrupar por atributo class en lugar de name, ya que varios checkboxes con el mismo name sería un sinsentido. Haciéndolo así quizá te sirva esto:
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">
if(
typeof document.getElementsByClassName !='function'){
    
document.getElementsByClassName=function(searchClass,node,tag) {
    
//Dustin Díaz implementation
    
var classElements = new Array();

    if ( 
node == null )

        
node document;

    if ( 
tag == null )

        
tag '*';

    var 
els node.getElementsByTagName(tag);

    var 
elsLen els.length;

    var 
pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");

    for (
00elsLeni++) {

        if ( 
pattern.test(els[i].className) ) {

            
classElements[j] = els[i];

            
j++;

        }

    }

    return 
classElements;

}    
}
function 
ver(f){
    var 
els=document.getElementsByClassName('dos');
    var 
checks=0;
    for(var 
i=0,ch;ch=els[i];i++){
        if(
ch.type=='checkbox' && ch.checked){
            
checks=1;
            
alert('al menos uno');
            break;
        }    
    }
    if(!
checks)alert('ninguno');
    return 
checks;
}
</script>

</head>

<body>
<form id="form1" name="form1" method="post" action="" onsubmit="return ver(this)">
<input class="uno" name="" type="checkbox" value="" />
<input class="uno" name="" type="checkbox" value="" />
<input class="uno" name="" type="checkbox" value="" />
<input class="uno" name="" type="checkbox" value="" />
<input class="uno" name="" type="checkbox" value="" />
<input class="uno" name="" type="checkbox" value="" />
<input class="uno" name="" type="checkbox" value="" />
<br />

<input class="dos" name="" type="checkbox" value="" />
<input class="dos" name="" type="checkbox" value="" />
<input class="dos" name="" type="checkbox" value="" />
<input class="dos" name="" type="checkbox" value="" />
<input class="dos" name="" type="checkbox" value="" />
<input class="dos" name="" type="checkbox" value="" />

<input name="" type="submit" value="Enviar" />
</form>
</body>
</html> 
Cita:
window ^ !window; // 0
!!window ^ !window; // 1
En efecto, es un operador a nivel de bits, no un operador lógico