Hola
También puedes probar así. Ya que si te he entendido quieres en ambos grupos de checkbox se marque uno
Cita: <form name="formmsg" action="xxx.html" method="post" onsubmit="return validaGrupo();">
<div id="listado1">
<input type="checkbox" name="hijos[]" value="1" > 1<br>
<input type="checkbox" name="hijos[]" value="2" > 2<br>
<input type="checkbox" name="hijos[]" value="3" > 3<br>
<input type="checkbox" name="hijos[]" value="4" > 4<br>
</div>
<br>
<br>
<div id="listado2">
<input type="checkbox" name="edad[]" value="1" > 1<br>
<input type="checkbox" name="edad[]" value="2" > 2<br>
<input type="checkbox" name="edad[]" value="3" > 3<br>
<input type="checkbox" name="edad[]" value="4" > 4<br>
</div>
<input type="submit" value="Enviar" />
</form>
Código javascript
:
Ver original<script type="text/javascript">
var lista1 = document.getElementById("listado1").getElementsByTagName("INPUT");
var lista2 = document.getElementById("listado2").getElementsByTagName("INPUT");
function validaGrupo () {
for (var i=0; i<lista1.length; i++)
if (!lista1[i].checked) {
alert('Has de selecionar al menos uno 1');
return false;
}
else
{
for (var i=0; i<lista1.length; i++)
if (!lista2[i].checked) {
alert('Has de selecionar al menos uno 2');
return false;
}
else
{
return true;
}
}
}
</script>
Suerte