Foros del Web » Programando para Internet » Javascript »

problema al contar checkbox

Estas en el tema de problema al contar checkbox en el foro de Javascript en Foros del Web. hola, tengo un pequeño gran problema, os lo comento: tengo un formulario con una serie de checkbox que se genera dinamicamente con un for dependiendo ...
  #1 (permalink)  
Antiguo 23/01/2010, 07:02
 
Fecha de Ingreso: septiembre-2009
Mensajes: 51
Antigüedad: 14 años, 7 meses
Puntos: 0
problema al contar checkbox

hola, tengo un pequeño gran problema, os lo comento:

tengo un formulario con una serie de checkbox que se genera dinamicamente con un for dependiendo de lo que tenemos en una bd.
Código HTML:
<input id="che" class="check_rut" type="checkbox" name="sel[]" value="<?php print($ruta["id_ruta"]);?>"></input> 
mi idea es que cuando pulse el boton eliminar con javascript cuente cuantos check hay seleccionados para mostrar un alert con error o de confirmacion de eliminar.
La funcion q hace eso es:
Código:
function preg_mult(){
	var checks = document.getElementById("rutas_env").sel;
	var cont = 0;
	for (var x=0;x<checks.length;x++){
	   if (checks[x].checked){
		   cont = cont + 1;
	   }
	}
	if(cont==0) eliminar = alert("Debes seleccionar alguna ruta para eliminar");
	else eliminar = confirm("¿Seguro que desea eliminar "+cont+" ruta(s)?");
	
	return eliminar;
}
Aqui el problema, simplente la var checks queda indefinida porque los elementos se llaman sel[], si le quito los corchetes en el input la eliminacion en php no va, y si los dejo el javascript no los detecta

teneis alguna solucion??

gracias, saludos
  #2 (permalink)  
Antiguo 23/01/2010, 07:39
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: problema al contar checkbox

Primero que el tag input no tiene cierre etiqueta de cierre...
Y si haces algo asi?

Código Javascript:
Ver original
  1. <input type="checkbox" class="check_rut" />
  2. <input type="checkbox" class="check_rut" />
  3. <input type="checkbox" class="check_rut" />
  4. <input type="checkbox" class="check_rut" />
  5. <input type="checkbox" class="check_rut" />
  6.  
  7.  
  8. <a href="javascript:muestra()">Mostrar</a>
  9. <script>
  10. function muestra(){
  11.     var checks = document.getElementsByTagName('input');
  12.     for(var i in checks){
  13.         alert(checks[i]);
  14.     }
  15. }
  16.  
  17. </script>
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 23/01/2010, 07:53
 
Fecha de Ingreso: septiembre-2009
Mensajes: 51
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: problema al contar checkbox

o yo no entiendo lo que me quieres decir o no me he explicado bien, mi problema no tiene nada que ver con los inputs, sino como recoger sus values desde la funcion para alli ver si estan chekados o no!!

Y los de pintar 5 inputs, no es posible ya que va dentro de un bucle for, y el numero de checks dependera del numero de tuplas que me devuelva la consulta

Gracias, saludos
  #4 (permalink)  
Antiguo 23/01/2010, 07:55
 
Fecha de Ingreso: septiembre-2009
Mensajes: 51
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: problema al contar checkbox

Tambien comentarte que ademas de los check existen mas inputs, con lo cual recoger el valor con tag name = input devolveria cosas que no debe
  #5 (permalink)  
Antiguo 23/01/2010, 08:59
 
Fecha de Ingreso: septiembre-2009
Mensajes: 51
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: problema al contar checkbox

tema resuelta, ya puedo recoger el array de checkbox con:

Código:
var checks = document.forms[0].elements["sel[]"];
  #6 (permalink)  
Antiguo 23/01/2010, 09:24
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: problema al contar checkbox

Yo en tu lugar hubiese usado getElementsByClass. ¡Suerte!

PD: Jackson, una vez intenté usar un bucle for...in para comprobar checkboxes pero por algún motivo extraño, con ie no funcionaba (¡qué raro!). Tuve que terminar haciendo un bucle for normal con un contador de números enteros que comenzaba en cero.
  #7 (permalink)  
Antiguo 23/01/2010, 15:14
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: problema al contar checkbox

aclarar que getElementsByClassName no existe en iexplorer por lo que hay que definir un equivalente para dicho navegador.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 23/01/2010, 15:37
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: problema al contar checkbox

Cita:
Iniciado por zerokilled Ver Mensaje
aclarar que getElementsByClassName no existe en iexplorer por lo que hay que definir un equivalente para dicho navegador.
Exacto, por eso puse el link: es un enlace a una entrada del blog de anieto2k en que trata los distintos algoritmos para implementar el getElementsByClassName. ¡Suerte!
  #9 (permalink)  
Antiguo 23/01/2010, 15:44
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: problema al contar checkbox

eso me pasa por no verificar el link! pense que era algun enlace con alguna referencia de como usar la funcion.
saludos
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: checkbox, contar
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 20:01.