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 (i = 0, j = 0; i < elsLen; i++) {
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