En esta categoría voy a comenzar a publicar post’s con soluciones a problemas que me han quitado el sueño. Las reuniré bajo “dev-notas mentales” y trataré de separarlas por tecnología.
Así que ahi vamos.
Problema:
Tenemos un formulario html hecho de la siguiente manera:
<form method="post" action="algo.php" onsubmit="return Valida()">
<input type="checkbox" name="miCheckbox[]" value="1" />
<input type="checkbox" name="miCheckbox[]" value="2" />
<input type="checkbox" name="miCheckbox[]" value="3" />
<input type="submit" name="bSubmit" /> </form>
Necesitamos que un script php (algo.php) reciba los valores de “miCheckbox” como si fuese un array pero necesitamos validar que al menos 1 esté chequeado.
Para validar recurría siempre a “document.getElementById” para acceder a cada uno de los checkboxes, pero con listas bastante grandes se torna quizás un poco pesado el proceso.
Existe otra manera que podría ser algo mejor:
La función validar podría ser:
function Valida ()
{
if (IsChk('miCheckbox'))
{
//ok, hay al menos 1 elemento checkeado envía el form!
return true;
} else {
//ni siquiera uno chequeado no envía el form
alert ('Chequeame un elemento!');
return false;
}
}
function IsChk(chkName)
{
var found = false;
var chk = document.getElementsByName(chkName+'[]');
for (var i=0 ; i < chk.length ; i++)
{
found = chk[i].checked ? true : found;
}
return found;
}
Como diré siempre: si alguno se encuentra con el problema ahi tiene otro punto de vista.

gracias me a servido, saludos
Muchas gracias, es uno de los pocos codigos que sirven sin mucho retoque, es decir solo hice un copy+paste y cambie el nombre del checkbox por el que yo uso… y listo! Funciona perfectamente. Mil gracias.
Muchisimas gracias, algo bastante detallado y funcional para novatos en programación!!!!
Excelente, funciona perfecto !
el segundo codigo va en algo.php o en el formulario
Jesus, ambos códigos van en la misma página (el form y el trozo de código javascript) … “algo.php” es el script que recibe el post nada más.
Saludos!
saludos Maestro
Disculpe el codigo que puso, me sirvio bastanten muchisimas gracias.
pero quiro validar que por lo menos seleccione un checkbox y mostrarle un ensaje de que selecione y no consigo hacerle , por favor me podria ayudar
por favor