Tenés que recorrer todos los checkboxes con ese name, y verificar que alguno de ellos esté checked == true
Código Javascript
:
Ver original<!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>
<title>titulo</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="#" method="post" onsubmit="return verificar();">
<div>
<input type="checkbox" name="cap[]" value="2">
<input type="checkbox" name="cap[]" value="3">
<input type="checkbox" name="cap[]" value="4">
<input type="checkbox" name="cap[]" value="5">
<input type="submit" />
</div>
</form>
<script type="text/javascript">
//<![CDATA[
function verificar(){
var suma = 0;
var los_cboxes = document.getElementsByName('cap[]');
for (var i = 0, j = los_cboxes.length; i < j; i++) {
if(los_cboxes[i].checked == true){
suma++;
}
}
if(suma == 0){
alert('debe seleccionar una casilla');
return false;
}else{
alert(suma);
}
}
//]]>
</script>
</body>
</html>
Saludos