Foros del Web » Programando para Internet » Javascript »

Comprobar Radiobuttons antes de enviar formulario

Estas en el tema de Comprobar Radiobuttons antes de enviar formulario en el foro de Javascript en Foros del Web. Hola, tengo un formulario con 47 preguntas. Cada pregunta tiene cinco radio buttons (bueno, casi todas, algunas tienen solo dos) y antes de enviar el ...
  #1 (permalink)  
Antiguo 01/02/2011, 11:10
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Comprobar Radiobuttons antes de enviar formulario

Hola, tengo un formulario con 47 preguntas. Cada pregunta tiene cinco radio buttons (bueno, casi todas, algunas tienen solo dos) y antes de enviar el formulario a la siguiente página quiero comprobar que se ha pulsado alguno de cada pregunta. He encontrado un código de Karlankas que en principio me serviría pero necesito modificar dos cosas: por un lado, hay algunos radiobutton que están deshabilitados y solo se habilitan en función de las respuestas previas. Con el código de Karlankas los deshabilitados también se comprueban y siempre me pide que los rellene, cosa imposible al estar deshabilitado. Y por el otro lado me gustaría que en el mensaje de alerta se mostrase el número de pregunta que falta por rellenar. Os dejo primero el código original de Karlankas y después las modificaciones que he probado, pero que no me han funcionado :S

Código original de Karlankas: http://www.forosdelweb.com/f13/valid...9/#post1066329

Código Javascript:
Ver original
  1. <script>
  2.  
  3. var MensajeDeError="Haga el favor de rellenar todo!"
  4.     function pepote(f){
  5.         marcado=false;
  6.         var nombre;
  7.         for(a=0;a<f.elements.length;a++){
  8.             if(f[a].type=="radio"){
  9.                 if(nombre!=f[a].name){
  10.                     nombre=f[a].name;
  11.                     for(aa=0;f[a+aa].name==f[a].name;aa++){
  12.                         if(f[a+aa].checked){marcado=true};
  13.                     }
  14.                     if(marcado==false){alert(MensajeDeError);return false;}
  15.              
  16.                 }
  17.             marcado=false;
  18.             }
  19.      
  20.         }
  21.     }
  22.      
  23.     </script>

Este es el mio, he intentado que comprobase si estaba deshabilitado, pero ha pasado de mi:


Código Javascript:
Ver original
  1. <script language="javascript">
  2. var MensajeDeError="Haga el favor de rellenar todo!"
  3.     function pepote(f){
  4.         marcado=false;
  5.         var nombre;
  6.         for(a=0;a<f.elements.length;a++){
  7.             if(f[a].type=="radio" && f[a].disabled!= "true"){
  8.                 if(nombre!=f[a].name){
  9.                     nombre=f[a].name;
  10.                     for(aa=0;f[a+aa].name==f[a].name;aa++){
  11.                         if(f[a+aa].checked){marcado=true};
  12.                     }
  13.                     if(marcado==false){alert(MensajeDeError);return false;}
  14.              
  15.                 }
  16.             marcado=false;
  17.             }
  18.      
  19.         }
  20.     }
  21. </script>

Y en este último he intentado mostrar también los números de las preguntas usando el contador del script y sumándole uno, pero con esto solo he conseguido que a medida que iba marcando respuestas, el mensaje era cada vez más largo y sin sentido :S
Código Javascript:
Ver original
  1. <script language="javascript">
  2. var MensajeDeError="Haga el favor de rellenar la pregunta "
  3.     function pepote(f){
  4.         marcado=false;
  5.         var nombre;
  6.         for(a=0;a<f.elements.length;a++){
  7.             if(f[a].type=="radio" && f[a].disabled!= "true"){
  8.                 if(nombre!=f[a].name){
  9.                     nombre=f[a].name;
  10.                     for(aa=0;f[a+aa].name==f[a].name;aa++){
  11.                         if(f[a+aa].checked){
  12.                             {marcado=true};
  13.                         }else{
  14.                             MensajeDeError = MensajeDeError + (a+1) + ", "
  15.                         }
  16.                     }
  17.                     if(marcado==false){alert(MensajeDeError);return false;}
  18.              
  19.                 }
  20.             marcado=false;
  21.             }
  22.      
  23.         }
  24.     }
  25. </script>
__________________
Vayamos por Partes :: Jack el Destripador
  #2 (permalink)  
Antiguo 01/02/2011, 11:33
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Comprobar Radiobuttons antes de enviar formulario

Te aconsejo que leas este Hilo en el que hablan de validar radiobuttons y de varios:

http://www.forosdelweb.com/f13/valid...button-282210/
__________________
Mono programando!
twitter.com/eguimariano
  #3 (permalink)  
Antiguo 02/02/2011, 01:53
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Respuesta: Comprobar Radiobuttons antes de enviar formulario

Gracias, pero creo que esto no me sirve, porque fija un número de radiobuttons, y en mi caso va variando :S
__________________
Vayamos por Partes :: Jack el Destripador

Etiquetas: comprobar, 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 01:32.