Foros del Web » Programando para Internet » Javascript »

Validación de Radio

Estas en el tema de Validación de Radio en el foro de Javascript en Foros del Web. Hola a todos, tengo un problema para validar una serie de preguntas que se deben de contestar marcando radio buttons. Ejemplo: Código PHP: < form action ...
  #1 (permalink)  
Antiguo 24/11/2015, 14:19
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 127
Antigüedad: 16 años, 3 meses
Puntos: 0
Busqueda Validación de Radio

Hola a todos, tengo un problema para validar una serie de preguntas que se deben de contestar marcando radio buttons.

Ejemplo:

Código PHP:
<form action="ok.html" method="post" id="1" name="uno" onsubmit="return validacion()">

Pregunta 1:
<
td><input type="radio" name="group1" value="40"5 minutos</td>
<
td><input type="radio" name="group1" value="56"8  minutos</td>
<
td><input type="radio" name="group1" value="40"11 minutos</td>
<
td><input type="radio" name="group1" value="40"12 15 minutos</td>
            
Pregunta 2:
<
td><input type="radio" name="group2" value="12"Si</td>
<
td><input type="radio" name="group2" value="32"No</td>

Pregunta 3:
<
td><input type="radio" name="group3" value="500"Alto</td>
<
td><input type="radio" name="group3" value="100"Bajo</td>


</
form

Quiero que valide cada una de las preguntas, es decir que le muestre un mensaje si el usuario no responde alguna pregunta.


GRACIAS
  #2 (permalink)  
Antiguo 24/11/2015, 15:12
 
Fecha de Ingreso: noviembre-2015
Mensajes: 6
Antigüedad: 8 años, 5 meses
Puntos: 1
Respuesta: Validación de Radio

Hola! se me ocurre esto para lo que necesitas
Código Javascript:
Ver original
  1. function validacion(){
  2.         grupo1 =document.getElementsByName("deacuerdo");
  3.         grupo2 =document.getElementsByName("deacuerdo");
  4.         grupo3 =document.getElementsByName("deacuerdo");
  5.          var i = 0;
  6.         while(i != -1 && i < grupo1.length)
  7.         {
  8.             if(grupo1[i].checked)
  9.                 resultado_grupo1 = grupo1[i].value;
  10.             i = i + 1;
  11.         }
  12.  
  13.         i = 0;
  14.         while(i != -1 && i < grupo2.length)
  15.         {
  16.             if(grupo2[i].checked)
  17.                 resultado_grupo2 = grupo2[i].value;
  18.             i = i + 1;
  19.         }
  20.  
  21.         i = 0;
  22.         while(i != -1 && i < grupo3.length)
  23.         {
  24.             if(grupo3[i].checked)
  25.                 resultado_grupo3 = grupo3[i].value;
  26.             i = i + 1;
  27.         }
  28.  
  29.         if(resultado_grupo1!= "" && resultado_grupo2 != "" && resultado_grupo3 != "")
  30.             return true;
  31.         else
  32.             return false;
  33.  
  34.     }

asi el formulario no te deja pasar... y podrias agregar mensajes personalizados en caso de recibir
Código Javascript:
Ver original
  1. resultado == "";
de todas maneras... quizas te sirva agregar el atributo required de HTML5 a un radiobutton de cada grupo

Ojalá te sirva
  #3 (permalink)  
Antiguo 24/11/2015, 15:51
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 127
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Validación de Radio

Gracias Micoelus, pero no he tenido resultado alguno.... algo se me esta pasado ???
  #4 (permalink)  
Antiguo 25/11/2015, 12:02
 
Fecha de Ingreso: noviembre-2015
Mensajes: 6
Antigüedad: 8 años, 5 meses
Puntos: 1
Respuesta: Validación de Radio

si estas usando la opción required no hay modo de que falle xd...
a menos que no le estes poniendo la linea de HTML 5
recuerda que tiene que quedar asi
Código HTML:
Ver original
  1. <!DOCTYPE html> <!--esta linea es necesaria para que tome parametros de html5 -->
  2.     <title></title>
  3. </head>

a mi me funciona bien te copio como lo tengo yo
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.     <title></title>
  3. </head>
  4.  
  5.     <form action="ok.html" method="post" id="1" name="uno" onsubmit="return validacion()">
  6.     <table>
  7.     <tr>
  8.        
  9.     <td>Pregunta 1: </td>
  10.     <td><input type="radio" name="group1" value="40" required> 5 minutos</td>
  11.     <td><input type="radio" name="group1" value="56"> 6 - 8  minutos</td>
  12.     <td><input type="radio" name="group1" value="40"> 9 - 11 minutos</td>
  13.     <td><input type="radio" name="group1" value="40"> 12 - 15 minutos</td>
  14.     </tr>
  15.     <tr>                 
  16.     <td>Pregunta 2: </td>
  17.     <td><input type="radio" name="group2" value="12" required> Si</td>
  18.     <td><input type="radio" name="group2" value="32"> No</td>
  19.     </tr>
  20.     <tr>
  21.  
  22.     <td>Pregunta 3: </td>
  23.     <td><input type="radio" name="group3" value="500" required> Alto</td>
  24.     <td><input type="radio" name="group3" value="100"> Bajo</td>
  25.     </tr>
  26.     <input type="submit">
  27.     </table>
  28.  
  29.     </form>
  30.  
  31. </body>
  32. </html>

Etiquetas: 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 15:07.