| 3 comentarios ]

Esto que voy a explicar a continuacion es útil a la hora de crear un test o un formulario el cual tienes que verificar que se haya seleccionado alguna opcion de las que ofreces. Por ejemplo, tienes un conjunto de opciones como las siguientes:

1 Caramelo 2 Caramelos 3 Caramelos 4 Caramelos o +

Y nuestro objetivo es verificar que el usuario que está rellenando el test/formulario/cuestionario seleccione una opcion de las cuatro, osease, que no lo deje en blanco. Para ello, en nuestra hoja de javascript tendremos que crearnos una funcion muy sencilla en la que nos validará si en algun momento hay algun campo seleccionado.

El código de nuestro formulario en cuestion es este (como podeis ver, muy sencillo):

<FORM method="post" action="paginaDestino.html" onSubmit="return validarRadio(this);">

<input type="radio" name="caramelos" value="una" >1 Caramelos
<input type="radio" name="caramelos" value="dos"> 2 Caramelos
<input type="radio" name="habitaciones" value="tres"> 3 Habitaciones
<input type="radio" name="caramelos" value="cuatro">4 Caramelos o +
<input type="submit" name="buscar" value="BUSCAR">
</FORM>


1 Caramelos 2 Caramelos 3 Habitaciones 4 Caramelos o +

Se basa en un formulario con 4 radio buttons que tienes que seleccionar uno de ellos para poder enviar la informacion a la funcion que nos valida el formulario para poder dar por correcto que has seleccionado uno.

La funcion en cuestion que utilizamos es esta:

function validarRadio(F){
var i var ok
ok=0
for(i=0; i<F.caramelos.length;i++){
if(F.caramelos[i].checked)
{
ok=1
}
}

if(ok==1)
return true
if(ok==0)
return false

return true
}

En la que basicamente el formulario que le pasamos es F y va a ser al que chequearemos a ver si ha sido seleccionado algun radio button de nuestra lista.

Mediante un for, recorreremos todas (F.caramelos.length) las opciones de nuestros radio buttons y miraremos si el radio button en cuestion (F.caramelos[i]) está seleccionado o no mediante la condicion que nos verifica el if if(F.caramelos[i].checked).

Si esl radio button está seleccionado checked nos devolvera un true y por lo tanto entrará dentro del if marcando la variable ok a 1 (ok=1) devolviendo así un resultado positivo (return true) de validacion o un cero si no ha sido seleccionado ninguno y por lo tanto devolverá un valor negativo (return false).

Espero que haya servido de ayuda a quien lo haya leido y le haya interesado.

3 comentarios

jose Emmanuel Araujo dijo... @ 9 de octubre de 2013, 12:43

Excelente muchas gracias solo le hice una pequena modificacion

for(var i=0; i<f.sexo.length;i++){
if(f.sexo[i].checked){return true}
else{ alert('Seleccione') return false}
}

Luis Davila dijo... @ 9 de octubre de 2014, 18:22

una pregunta para validar radio button que en ves de tener un NAME fijo tiene una variable de una consulta realizada en php

por decir en vez de que el name=".$grupo[$i]."value=".$opcion1[$i]."
como los valido??

Alfonso Fernandez dijo... @ 13 de marzo de 2015, 11:30

Creo que hay un error. En la opcion 3 pone habitaciones, luego eso no lo chequea la funcion.

Publicar un comentario

 
Ir Arriba