Foros del Web » Programando para Internet » Javascript »

Contar CheckBoxs Activados

Estas en el tema de Contar CheckBoxs Activados en el foro de Javascript en Foros del Web. Hola necesito poder contar la cantidad de checks activados a la hora de mandar un formulario, debido que los check se generan dinamicamente ya que ...
  #1 (permalink)  
Antiguo 06/09/2007, 10:25
Avatar de maderic_m  
Fecha de Ingreso: agosto-2007
Mensajes: 53
Antigüedad: 16 años, 8 meses
Puntos: 0
Contar CheckBoxs Activados

Hola necesito poder contar la cantidad de checks activados a la hora de mandar un formulario, debido que los check se generan dinamicamente ya que dependenden de un listado generado por php cada check a contar tiene un nombre distinto db, el codigo que hice es el siguiente:
Código:
<script language='javascript' type="text/javascript"> 
function contar(){
var dest = new Array ("destacar_21","destacar_22","destacar_20"); /* nombre de los check que hay que contar si estan activados, nombres generados dinamicamenente mediante PHP*/
var cantidad = 0;
for(var i = 0; i <= dest.length; i++){
	if(document.form1.dest[i].checked)
		cantidad++;
}
if(cantidad <= 2)
	return true;
else{
	alert("Como maximo puede destacar 2 Noticias.");
	return false;
} 
}
</script>
esa es la funcion, y en el formulario hago un onSubmit="return contar()" y el nombre del formulario es form1 y los check se llaman: destacar_21, destacar_22 , destacar_20. Si alguien se le ocurre una idea y la comprate se lo agradesco, saludos y Gracias.
  #2 (permalink)  
Antiguo 06/09/2007, 12:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Contar CheckBoxs Activados

Hola:

Prueba cambiano esta línea:
if(document.form1.dest[i].checked)
por ésta:
if(document.form1[dest[i]].checked);

tal como lo tienes busca un array de controles con nombre dest, y no es exactamente lo que quieres.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 06/09/2007, 14:18
Avatar de maderic_m  
Fecha de Ingreso: agosto-2007
Mensajes: 53
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Contar CheckBoxs Activados

el nuevo codigo quedo asi
Código:
<script language='javascript' type="text/javascript"> 
function contar(){
var dest = new Array ({array});
var cantidad = 0;
for(var i = 0; i <= dest.length; i++){
	if(document.form1[dest[i]].checked)
		cantidad++;
}
if(cantidad <= 2)
	return true;
else{
	alert("Como maximo puede destacar 2 Noticias.");
	return false;
} 
}
</script>
pero no me cuanta ya que al hacer el submit el formulario se envia y no se detiene el envio si la variable cantidad es mayor q 2.
  #4 (permalink)  
Antiguo 08/09/2007, 08:29
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Contar CheckBoxs Activados

Hola maderic_m

Prueba este código:

Código PHP:
<html>
<
head>
<
script type="text/javascript">
function 
contar(frm) {
  
suma 0;
  for (
i=0ele frm.elements[i]; i++)
    if (
ele.checkedsuma++;
  if (
suma>2) {
    
alert('Sólo 2');
    return 
false;
  }
}
</script>
</head>
<body>
<form onsubmit = "return contar(this)">
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="submit" />
</form>
</body>
</html> 
Saludos,
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 08:29.