HTML Control de form con Javascript

Buenas,

estoy haciendo una web, y tengo el típico forumario que quiero validar antes de mandarlo por post:

Mi código es del tipo:

<input type="checkbox" name="formDoor[]" value="5" />Valor1<br />
<input type="checkbox" name="formDoor[]" value="6" />Valor2<br />
<input type="checkbox" name="formDoor[]" value="7" />Valor3<br />
<input type="checkbox" name="formDoor[]" value="8" />Valor4<br />
<input type="checkbox" name="formDoor[]" value="9" />Valor5<br />
<input type="checkbox" name="formDoor[]" value="10" />Valor6<br />
<input type="checkbox" name="formDoor[]" value="11" />Valor7<br />
<input type="checkbox" name="formDoor[]" value="12" />Valor8<br />


Antes de enviarlo, quiero comprobar que hay al menos algún check seleccionado.

¿Cómo puedo hacerlo?

Gracias!
Prueba si con esto te sirve (es necesario jQuery para el codigo que te pongo)

var haySeleccionados = false;
$('input[name=formDoor[]]').each(function(){
    if ( $(this).checked == true ) {
      haySeleccionados = true;
      break;
   }
});

if ( haySeleccionados ) {
   // Envio form
} else {
   alert("No has seleccionado ninguno");
}
sodark escribió:Prueba si con esto te sirve (es necesario jQuery para el codigo que te pongo)

var haySeleccionados = false;
$('input[name=formDoor[]]').each(function(){
    if ( $(this).checked == true ) {
      haySeleccionados = true;
      break;
   }
});

if ( haySeleccionados ) {
   // Envio form
} else {
   alert("No has seleccionado ninguno");
}


Más corto con jQuery sin bucle
var haySeleccionados = $('input[name="formDoor[]"]:checked').length;

if ( haySeleccionados ) {
   // Envio form
} else {
   alert("No has seleccionado ninguno");
}



Sin jQuery
var casillas = document.getElementsByName("formDoor[]");
var haySeleccionados = false;
for ( var i=0; i<casillas.length; i++) {
   
   if ( casillas[i].checked ) {
      haySeleccionados = true;
      break;
   }
}

if ( haySeleccionados ) {
   // Envio form
} else {
   alert("No has seleccionado ninguno");
}
@sodark, @WaterDark. Muchas gracias por vuestra ayuda.

@WaterDark, he probado el código sin jQuery y funciona a las mil maravillas. Mil gracias! [beer]
banderas20 escribió:@sodark, @WaterDark. Muchas gracias por vuestra ayuda.

@WaterDark, he probado el código sin jQuery y funciona a las mil maravillas. Mil gracias! [beer]



Aunque este foro esta muy bien y seguro que hay compañeros que te ayuden, yo te recomiendo stackoverflow, porque seguramente todo esté respondido o prácticamente todo y no tienes que esperar a que alguien te responda.
Seifer10 escribió:Aunque este foro esta muy bien y seguro que hay compañeros que te ayuden, yo te recomiendo stackoverflow, porque seguramente todo esté respondido o prácticamente todo y no tienes que esperar a que alguien te responda.


Lo conozco y lo frecuento, pero créeme que a veces saco más de foros como éste que de stackoverflow.

Gracias! [oki]
Banderas te recomiendo que comiences a mirarte un poco jQuery ya que te ayudara bastante a hacer cosillas con Javascript y solo es importarlo en el HTML y funcionar.
6 respuestas