Foros del Web » Programando para Internet » Javascript »

Validar checkbox y encadenar variables

Estas en el tema de Validar checkbox y encadenar variables en el foro de Javascript en Foros del Web. Hola gente Tengo en una página varios checkbox que se generan dinamicamente desde una base de datos, estos se llaman condicion_pago_1 condicion_pago_2 condicion_pago_3 condicion_pago_n Segun ...
  #1 (permalink)  
Antiguo 18/10/2006, 14:46
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 7
Validar checkbox y encadenar variables

Hola gente

Tengo en una página varios checkbox que se generan dinamicamente desde una base de datos, estos se llaman

condicion_pago_1
condicion_pago_2
condicion_pago_3
condicion_pago_n

Segun la cantidad que registros devuelva la base de datos. También tengo una variable oculta con la cantidad de checkbox que se generaron desde la base. El problema es que necesito validar que el usuario al menos seleccione uno de ellos antes de procesar el formulario que los contiene.

Viendo algunos ejemplos en el foro se me ocurrió armar un script asi:

Código:
function condicionesPago(valor)
{
	var f = document.form1;
	
	for (x=1; x<f.cantidadCondicionesPago.value; x++)
	{
		var campo = 'condicion_pago_'[x];
		alert(f[campo]value);
	}
}
Simplemente para probar que el for se ejecute y me muestre los valores de los checkbox. El for se ejecuta correctamente pero no puedo hacer que la variable x se convierta en el numero que tiene el checkbox.

¿Las variables se encadenan con []?¿Alguien sugiere algo mas sencillo para hacerlo?

Gracias.
  #2 (permalink)  
Antiguo 18/10/2006, 15:25
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 20 años, 6 meses
Puntos: 0
Este script hace lo que necesitas

el nº5 que ves en el Script es el número de registros de la BD que tu tienes en un campo oculto...saludos

Código HTML:
var TotalSelected=5;
var idx=0;
for(idx=1;idx<=5;idx++){
	if(document.getElementById('condicion_pago_'+idx).checked)
		TotalSelected--;
}
if(TotalSelected==5)
	alert('Debe seleccionar al menos un producto de los listados');
else
	form.submit();
  #3 (permalink)  
Antiguo 19/10/2006, 08:26
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 7
Gracias esta muy bien pero no funciona. Me tira un problema parecido.

Si pongo:

Código:
if(document.getElementById('condicion_pago_'+idx).checked)
Me dice que se esperaba un objeto, pero funciona si pongo:

Código:
if(document.getElementById('condicion_pago_1').checked)
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 07:42.