Foros del Web » Programando para Internet » Javascript »

problemas con funcion validacion de radio button

Estas en el tema de problemas con funcion validacion de radio button en el foro de Javascript en Foros del Web. Buenas tardes Comunidad, Soy demasiado mala en cuanto a javascript, y encontre este codigo que verifica si todos mis grupos de radio button que tengo ...
  #1 (permalink)  
Antiguo 27/05/2013, 17:54
 
Fecha de Ingreso: noviembre-2012
Ubicación: Tegucigalpa
Mensajes: 94
Antigüedad: 12 años
Puntos: 0
problemas con funcion validacion de radio button

Buenas tardes Comunidad,

Soy demasiado mala en cuanto a javascript, y encontre este codigo que verifica si todos mis grupos de radio button que tengo en mi formulario


Código Javascript:
Ver original
  1. function validargrupos(formulario) {
  2.     var grupos = [];
  3.     for (i = 0; elem = formulario.elements[i]; i++) {
  4.         if (elem.type == "radio") {
  5.             if (!grupos[elem.name]) {
  6.                 grupos[elem.name] = elem.checked;
  7.             }
  8.         }
  9.     }
  10.     for (grupo in grupos) {
  11.         if (!grupos[grupo]) {
  12.             alert("Tiene que seleccionar: " + grupo);
  13.             return false;
  14.         }
  15.     }
  16.     return true;
  17. }


pues en la parte del formulario pongo esto

Código HTML:
Ver original
  1. <form action="encuesta2.php" name="formulario" id="formulario" method="post" onSubmit="return validargrupos(this)" >


No se que estaré haciendo malo, porque quiero que al darle click me valide y sino que salga el msj de error y que me devuelva a la pagina encuesta2.php, pero me la direcciona a la siguiente pagina, porque tengo en mi código php tengo que si !$_POST, me direccione a otra pagina.

Muchas gracias por su ayuda, se los agradecere enormemente.
  #2 (permalink)  
Antiguo 28/05/2013, 10:22
Avatar de rosonator  
Fecha de Ingreso: noviembre-2012
Ubicación: Bilbao
Mensajes: 49
Antigüedad: 12 años
Puntos: 7
Respuesta: problemas con funcion validacion de radio button

Primero de todo, yo haría el botón por JS y no por HTML, es decir, que sea input.button (no input.submit) el que llama a la función en vez del submit del formulario.

Creo que lo que ocurre es que no estás mirando el checked en los hijos del elemento sino en el propio elemento, que no tiene esa propiedad. Prueba con esto:


Código:
todosActivos = [];

for (i = 0; elem = formulario.elements[i]; i++) {

       todosActivos [i]= false;

       if (elem.type == "radio") {

              cantidadRadios = elem.length;

              for (j=0; j < cantidadRadios ; j++) {
                     if (elem[j].checked==true) {
                            todosActivos[i]=true;
                     }
              }
       } 
}                   

if (todosActivos.indexOf(false)== -1) {
      document.forms['formulario'].submit();
} else {
//CASOS DE ERROR
}
  #3 (permalink)  
Antiguo 28/05/2013, 10:31
 
Fecha de Ingreso: noviembre-2012
Ubicación: Tegucigalpa
Mensajes: 94
Antigüedad: 12 años
Puntos: 0
Respuesta: problemas con funcion validacion de radio button

Cita:
Iniciado por rosonator Ver Mensaje
Primero de todo, yo haría el botón por JS y no por HTML, es decir, que sea input.button (no input.submit) el que llama a la función en vez del submit del formulario.

Creo que lo que ocurre es que no estás mirando el checked en los hijos del elemento sino en el propio elemento, que no tiene esa propiedad. Prueba con esto:


Código:
todosActivos = [];

for (i = 0; elem = formulario.elements[i]; i++) {

       todosActivos [i]= false;

       if (elem.type == "radio") {

              cantidadRadios = elem.length;

              for (j=0; j < cantidadRadios ; j++) {
                     if (elem[j].checked==true) {
                            todosActivos[i]=true;
                     }
              }
       } 
}                   

if (todosActivos.indexOf(false)== -1) {
      document.forms['formulario'].submit();
} else {
//CASOS DE ERROR
}

Hola antes que nada, muchas gracias por tu ayuda y tiempo,

acabo de probar el codigo y pues igualmente si selecciono los grupos de radio siempre me sale el mensaje que no están seleccionado. He probado diversos codigos con el mismo resultado. T_T

De verdad muchas gracias.
  #4 (permalink)  
Antiguo 29/05/2013, 03:09
Avatar de rosonator  
Fecha de Ingreso: noviembre-2012
Ubicación: Bilbao
Mensajes: 49
Antigüedad: 12 años
Puntos: 7
Respuesta: problemas con funcion validacion de radio button

Quizás ayudara ver tu código html, el relativo a tus radiobuttons

Etiquetas: button, formulario, funcion, php, radio, validacion
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 16:30.