Foros del Web » Programando para Internet » Javascript »

como validar cheks dinamicos por grupos?

Estas en el tema de como validar cheks dinamicos por grupos? en el foro de Javascript en Foros del Web. hola q tal mi nombre es Marlin? quiero validar unos checks q se crean dinamicamente, la cuestion es q los checks se crean por grupo, ...
  #1 (permalink)  
Antiguo 06/07/2007, 15:14
 
Fecha de Ingreso: julio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta como validar cheks dinamicos por grupos?

hola q tal mi nombre es Marlin?
quiero validar unos checks q se crean dinamicamente, la cuestion es q los checks se crean por grupo, es decir por elemplo:

cedula1 check
cedula1 check
cedula1 check
cedula1 check

cedula2 check
cedula2 check
cedula2 check
cedula2 check

cedula3 check
cedula3 check
cedula3 check
cedula3 check
y asi sucesivamente...

la idea es q debo validar q no pueda seleccionar todos los checks de la misma cedula, deberia mandar una alerta.
si alguien puede ayudarme, agradezco de antemano :D
  #2 (permalink)  
Antiguo 06/07/2007, 19:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: como validar cheks dinamicos por grupos?

Hola, bienvenido a los foros :

En javascript pueden hacerse 2 tipos de validaciones: mientras se modifican los datos (usando el evento change del control) u durante el envío (con el evento submit del mismo formulario)... no sé que tipo de validación prefieres, pero voy a plantear el primero de los casos:

Suponiendo que los checks estén agrupados por nombres (creo que es lo lógico...)... puedes poner en cada check algo así:

<input type="checkbox" name="xxx" value="1" onchange="no_repe(this)" />
<input type="checkbox" name="xxx" value="2" onchange="no_repe(this)" />
<input type="checkbox" name="xxx" value="3" onchange="no_repe(this)" />

y la función no_repe sería:

function no_repe(control) {
f = control.form; // f = formulario
n = control.name; // n = nombre del control
ts = true; // valor para comparar los checkeados
for (var i = 0, ns = f[n].length; i < ns; i ++) // recorremos los checks
ts = ts && f[n][i].checked;
if (ts) { // todos checked
alert(No se pueden checkear todos);
control.checked = false; // desmarcamos el último pulsado
}
}

Dinos si es lo que quieres.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 06/07/2007 a las 19:59 Razón: Me faltó la bienvenida
  #3 (permalink)  
Antiguo 06/07/2007, 19:59
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Re: como validar cheks dinamicos por grupos?

Hola Marlin al revés.

El Faq-92 tiene algo bastante parecido a lo que necesitas.

Dale una ojeada a ver si te sirve.

Saludos.
  #4 (permalink)  
Antiguo 09/07/2007, 09:54
 
Fecha de Ingreso: julio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: como validar cheks dinamicos por grupos? gracias!!! :D

hola como estas? muchas gracias por responder, en especial a caricatos
tu respuesta fue efectiva :D ya solvente mi problema
saludos, ah por cierto, soy una chica :P
  #5 (permalink)  
Antiguo 09/07/2007, 10:26
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: como validar cheks dinamicos por grupos? gracias!!! :D

Cita:
Iniciado por nilram Ver Mensaje
hola como estas? muchas gracias por responder, en especial a caricatos
tu respuesta fue efectiva :D ya solvente mi problema
saludos, ah por cierto, soy una chica :P
¡Je, je!... supongo que al no conocer ese nombre no te recibí adecuadamente...

Me ajegra de que te haya servido.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 19:40.