Foros del Web » Programando para Internet » Javascript »

contar checkbox selecionados

Estas en el tema de contar checkbox selecionados en el foro de Javascript en Foros del Web. hola tengo el siguiente problema, tengo una lista de compra, pero necesito q el usuario solo pueda checkear 10 productos.. ESTE ES EL SCRIPT Código ...
  #1 (permalink)  
Antiguo 04/10/2006, 23:04
Avatar de rock_blues.NET  
Fecha de Ingreso: septiembre-2005
Mensajes: 207
Antigüedad: 18 años, 7 meses
Puntos: 0
contar checkbox selecionados

hola tengo el siguiente problema, tengo una lista de compra, pero necesito q el usuario solo pueda checkear 10 productos.. ESTE ES EL SCRIPT
Código HTML:
<script language="javascript">
function validacion() 
{
var contador=0,limite=10;
for (i=0; i<=document.listado.fruit.length; i++)
{
	       if (document.listado.fruit[i].checked)
		   {
			   contador=contador+1;
		   }
		   if (contador>limite)
				{
				alert('no se puede mas');
				document.listado.fruit[i].checked=false;
				break;
				}
  }
}
</script> 
Código HTML:
<form name="listado" action="checkresult.jsp" method="post">
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />
<input type="checkbox" name="fruit" onchange="validacion()" />

</form> 
la cantidad de checkbox q se crean depende de los registros q existan en la base de datos, por lo mismo solo puse CHECK PARA VERIFICAR EL FUNCIONAMIENTO DEL SCRIPT

NECESITO PODER VALIDAR Q EL CLIENTE ESCOJA SOLO 10 PRODUCTOS, EL SCRIPT ANTES MOSTRADO ES LO QUE TENGO PERO SE CAE

PORFIS AYUDA
  #2 (permalink)  
Antiguo 05/10/2006, 01:08
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola rock_blues.NET

Pon los checkbox así:

<input type="checkbox" name="fruit" onchange="validacion(this)" />

y utiliza este código:
Código PHP:
function validacion(obj) {
  
limite=3;
  
num=0;
  if (
obj.checked) {
    for (
i=0ele=obj.form.elements[i]; i++)
      if (
ele.checkednum++;
  if (
num>limite)
    
obj.checked=false;
  }

Saludos,
  #3 (permalink)  
Antiguo 05/10/2006, 10:21
Avatar de rock_blues.NET  
Fecha de Ingreso: septiembre-2005
Mensajes: 207
Antigüedad: 18 años, 7 meses
Puntos: 0
grax
  #4 (permalink)  
Antiguo 05/10/2006, 17:50
Avatar de rock_blues.NET  
Fecha de Ingreso: septiembre-2005
Mensajes: 207
Antigüedad: 18 años, 7 meses
Puntos: 0
maestro muy buen el truquito, lo probe y funciona a la perfeccion
  #5 (permalink)  
Antiguo 14/03/2007, 12:56
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: contar checkbox selecionados

Hola, yo necesito hacer algo muy parecido y me funciono de maravilla.
pero tengo una consulta, en la variable limite debo ir un valor que rescato desde una BD, lo hice asi y no me funciono:

Código PHP:
<script language="javascript">
function validacion(obj) {
  limite=<?=$nov[maximo]?>;
  num=0;
  if (obj.checked) {
    for (i=0; ele=obj.form.elements[i]; i++)
      if (ele.checked) num++;
  if (num>limite)
    obj.checked=false;
  }
}
</script>
Como debo hacerlo para q me tome una variable php???
ojala me puedan ayudar.

Gracias!

Última edición por chascon; 14/03/2007 a las 13:07
  #6 (permalink)  
Antiguo 14/03/2007, 14:48
Avatar de chascon  
Fecha de Ingreso: diciembre-2004
Mensajes: 231
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: contar checkbox selecionados

Hola, yo denuevo, ya solucione el problema, me faltaban las comillas
asi queda bien:

Código PHP:
<script language="javascript">
function validacion(obj) {
  limite="<?=$nov3[maximo]?>";
  num=0;
  if (obj.checked) {
    for (i=0; ele=obj.form.elements[i]; i++)
      if (ele.checked) num++;
  if (num>limite)
    obj.checked=false;
  }
}
</script>
Lamentablemente ahora surgio otro problema, en firefox funciona sin ningun problema, pero en internet explorer tiene un error, por ejemplo, si le doy un limite 2 en FF solo me deja seleccionar 2 checkbox, pero con internet explorer me deja seleccionar 3, pero solo se envian las 2 primeras seleccionadas. pero visiblemente aparecen 3, lo que es un problema por q la persona que vote no sabra cuales son las que valen.

para variar internet explorer dando problemas!. ¬¬'

alguien sabe como solucionar eso?
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:50.