Foros del Web » Programando para Internet » Javascript »

validar radio buttons dinamicos

Estas en el tema de validar radio buttons dinamicos en el foro de Javascript en Foros del Web. buenas. tengo un formulario de registro con radio buttons y los genero con bd. son 3 categorias que muestro en los radio buttons. en mi ...
  #1 (permalink)  
Antiguo 07/10/2010, 14:51
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Pregunta validar radio buttons dinamicos

buenas. tengo un formulario de registro con radio buttons y los genero con bd. son 3 categorias que muestro en los radio buttons.

en mi js hago la validacion. cuando he marcado una opcion aun me sigue validando.

este es mi codigo.

Código Javascript:
Ver original
  1. for(i=1;i<=2;i++)
  2. {
  3.                    
  4. if(document.getElementById('tipo_participante['+i+']').checked==false)
  5. {
  6.  
  7. alert("Ingrese su perfil y su centro de estudios de todos los concursantes.");
  8. document.getElementById('tipo_participante['+i+']').focus();
  9. return true;
  10.  
  11. }
  12.                    
  13. }

mi pregunta es por que me sigue validando si ya marque un radio button ?.

saludos.

Última edición por esaenz22; 07/10/2010 a las 15:12 Razón: correccion.
  #2 (permalink)  
Antiguo 08/10/2010, 08:43
Avatar de bitbow  
Fecha de Ingreso: julio-2006
Ubicación: Distrito Federal
Mensajes: 635
Antigüedad: 17 años, 9 meses
Puntos: 34
Respuesta: validar radio buttons dinamicos

Saludos,

si vuelves a llamar a la misma funcion te va a validar de nuevo ya que lo que haces es recorrer los radio buttons y si encuentra alguno en false mandas el focus a ese, pero siempre va a encontrar alguno en false.

Tendrias que hacer un acumulador en donde por lo menos debe de estar en true uno o predefinir alguno con cheked y asi te evitas esta validacion.

<input type="radio" name="radios" value="0" checked>

Suerte.
__________________
El ego es el mayor enemigo de un hombre inteligente.
  #3 (permalink)  
Antiguo 11/10/2010, 12:00
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: validar radio buttons dinamicos

gracias por la respuesta bitbow. y como haria el acumulador ?.

saludos.
  #4 (permalink)  
Antiguo 11/10/2010, 14:21
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: validar radio buttons dinamicos

Prueba así:
Código Javascript:
Ver original
  1. var n=0;
  2. function validar(f){
  3.  var inp=f.getElementsByTagName('input');
  4.  for(i=0;i<inp.length;i++){
  5.   n=inp.type=='radio'&&inp.checked?n+1:n;
  6.  }
  7.  alert(n);
  8.  return n;
  9. }
Luego tendrías que llamarlo como validar(this.form).
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 11/10/2010, 14:51
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: validar radio buttons dinamicos

gracias por la sugerencia.

encontre este codigo ,lo adapte a mi necesidad. los mostre en la web, he marcado 2 opciones y aun asi me sigue validando.

Código Javascript:
Ver original
  1. var resultado;
  2. var algo_pinchado;
  3. algo_pinchado = 'no';
  4.  
  5. for(i=1;i<=2;i++)
  6. {
  7.     if (document.getElementById('tipo_participante['+i+']').checked) {
  8.         algo_pinchado = 'si';
  9.         break;
  10.     }
  11.  
  12.  
  13.     if (algo_pinchado == 'no'){
  14.         //resultado = 'Selecciona un valor para el perfil del postulante: ' + document.form3.tipo_participante[0].name + '\n';
  15.         resultado = 'Marque al menos 2 perfiles de los postulantes\ny llene los datos requeridos';
  16.         alert(resultado);
  17.         return false;
  18.        
  19.     }          
  20.  
  21. }

saludos.

Última edición por esaenz22; 11/10/2010 a las 15:27 Razón: correccion.

Etiquetas: dinamicos, 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:42.