Foros del Web » Programando para Internet » Javascript »

Validad múltiples radio

Estas en el tema de Validad múltiples radio en el foro de Javascript en Foros del Web. Ante todo, buenas noches y por adelantado muchas gracias por entrar en el hilo. Veréis, tengo que hacer un cuestionario online, que se divide en ...
  #1 (permalink)  
Antiguo 21/02/2012, 16:07
 
Fecha de Ingreso: febrero-2012
Mensajes: 14
Antigüedad: 12 años, 2 meses
Puntos: 0
Ayuda: Validar múltiples radio

Ante todo, buenas noches y por adelantado muchas gracias por entrar en el hilo.

Veréis, tengo que hacer un cuestionario online, que se divide en una caja de texto, dos select y 48 radios.

La cosa es que cuando pulse enviar, salte la función en javascript y vaya validando todo. He conseguido validar lo primero, pero me falta validar los 48 input radio, que por más que le doy vueltas no consigo hacerlo.

Os dejo la función en javascript con dos radios para que me echéis una mano.

El código lo he adaptado de otras webs (ya que dispongo de pocos conocimientos de javascript):

Código:
function checkFields() {
missinginfo = "";
if (document.form.edad.value == "") {
missinginfo += "\n     -  Edad";
}
if (document.form.curso.selectedIndex==0) {
missinginfo += "\n     -  Curso";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"Te ha faltado introducir los siguientes datos:\n" +
missinginfo + "\n_____________________________" +
"\n¡Por favor pulsa enter, rellena los datos y prueba de nuevo!";
alert(missinginfo);
return false;
}
else return true;
}
Esa función me comprueba que haya insertado la edad y el curso, pero no sé como hacer para que me evalúe los 48 radios. Os dejo un par de radios:

Código:
<FONT class = "fuente">1.- Me permiten salir tan a menudo como quiero

<td><input type="radio" name="1" value="5">
<td><input type="radio" name="1" value="4">
<td><input type="radio" name="1" value="3">
<td><input type="radio" name="1" value="2">
<td><input type="radio" name="1" value="1">
<tr>

<td> <FONT class = "fuente">2.- Me permiten ir a cualquier lugar que quiero sin preguntar

<td><input type="radio" name="2" value="5">
<td><input type="radio" name="2" value="4">
<td><input type="radio" name="2" value="3">
<td><input type="radio" name="2" value="2">
<td><input type="radio" name="2" value="1">
Y así con los 46 restantes.

Muchísimas Gracias por adelantado.
  #2 (permalink)  
Antiguo 21/02/2012, 17:01
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 16 años
Puntos: 14
Respuesta: Validad múltiples radio

Creo que esta página es lo que te interesa:
http://www.albeesonline.com/blog/200...-radio-button/

Al formulario lo llamas formulario1
A cada grupo de radios lo llamas grupo1, grupo2, grupo3, etcétera, por ejemplo. Entonces:

Código PHP:
            for (index=0index document.formulario1.grupo1.lengthindex++) {
                if (
document.formulario1.grupo1[index].checked) {
                    var 
valorSeleccionado document.formulario1.grupo1[index].value;
                    break;
                }
            } 
Lo que haces es, primero, saber cuantos radios tiene el grupo1 (length). Entonces recorre el for tantas veces como length tenga (en tu caso 5 veces).
Para cada caso comprueba si ese valor está seleccionado.
Si está seleccionado guarda en valorSeleccionado el valor.

Al final obtendrás el valor o vacío (o indefinido, no estoy seguro :) ), por lo que sólo tienes que validar si "algún valor" ha sido introducido, es decir:
if (typeof(valorSeleccionado) != 'undefined' and valorSeleccionado != '').

Espero que te haya servido de algo :)
  #3 (permalink)  
Antiguo 22/02/2012, 00:23
 
Fecha de Ingreso: febrero-2012
Mensajes: 14
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Validad múltiples radio

Muchas gracias Urdaris_nox! Esa era la idea pero tenía una rallada con eso que no me salía ni a la de 3.

En cuanto llegue a casa lo prueblo y te comento!
  #4 (permalink)  
Antiguo 22/02/2012, 02:56
 
Fecha de Ingreso: febrero-2012
Mensajes: 14
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Validad múltiples radio

Pues si coloco eso en la funcio y la adapto un poco peta. Se salta la funcion porque detectará un error...
  #5 (permalink)  
Antiguo 22/02/2012, 19:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 16 años
Puntos: 14
Respuesta: Validad múltiples radio

¿Y donde se salta el error?

En casos como éste yo meto un saco de Alerts para ver donde peta. (debe haber algún debugeador por ahí)
Código PHP:
            for (index=0index document.formulario1.grupo1.lengthindex++) {
alert('Aqui llega!');
                if (
document.formulario1.grupo1[index].checked) {
alert('Ah, aqui tambien');
                    var 
valorSeleccionado document.formulario1.grupo1[index].value;
                    break;
                }
alert('Estamos despues del if!');
            } 
Ya dirás donde peta y miramos que pasa :)

Pása el código que peta y la estructura HTML que llamas!
  #6 (permalink)  
Antiguo 23/02/2012, 00:18
 
Fecha de Ingreso: febrero-2012
Mensajes: 14
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Validad múltiples radio

Pues lo conseguí, el caso es que no recogía la variable grupo1 en el document.form... Así que creé otra variable que lo recogiera y esa variable la meti dentro del for.

No me preguntes por qué, pero funciona!

Etiquetas: input, radio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:04.