Foros del Web » Programando para Internet » Javascript »

Problema script Internet Explorer

Estas en el tema de Problema script Internet Explorer en el foro de Javascript en Foros del Web. Hola buenos días a todos. Se podría decir que Internet Explorer me ha obligado a escribir este post porque llevo tiempo dándole vueltas al siguiente ...
  #1 (permalink)  
Antiguo 27/03/2008, 05:51
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Problema script Internet Explorer

Hola buenos días a todos. Se podría decir que Internet Explorer me ha obligado a escribir este post porque llevo tiempo dándole vueltas al siguiente script que funciona perfectamente en Firefox pero no hay manera en el Explorer y no encuentro el fallo. Espero que me puedan ayudar.

Código:
function Validar() { 
	var valido=false;
	for( var i = 1; i < document.getElementsByTagName("input").length; i++) {
	       var checkboxes = document.getElementsByTagName("input")[i].checked;
	       if (checkboxes==true){
			valido=true;
			break;
	       }
	}
	if(!valido){
		alert("Please, select at least one car.");
		return false;
	}		
}
La idea del script creo que queda clara, su función es la de comprobar que hay al menos un checkbox seleccionado dentro del formulario.

El número de checkbox dentro del formulario varía en función de la respuesta de disponibilidad de la consulta a la BD. Es decir, a cada vehículo disponible se le asigna un checkbox para poder elegirlo. Cada checkbox tiene asignado un nombre diferente para poder comprobar cuales han sido seleccionados en la siguiente web.

Código PHP:
<input type="checkbox" name="checkbox<? echo $contador;?>" value="<? echo $row['IdVehicle'];?>">
El problema viene a ser que así como en Firefox funciona a la perfección en Internet Explorer no es capaz de controlar que algún checkbox ha sido checkeado y por tanto no permite seguir al siguiente formulario.

Espero su ayuda. Gracias.
  #2 (permalink)  
Antiguo 27/03/2008, 11:43
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 22 años
Puntos: 0
Re: Problema script Internet Explorer

Hola,

lo he probado con el IE7 y si que me funciona.

Lo único que la funcíon validar empieza por el input 1 y ahí te estas dejando 1 sin comprobar, el 0, no se si podría haber sido por eso.

Salu2
  #3 (permalink)  
Antiguo 27/03/2008, 11:55
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Re: Problema script Internet Explorer

si cuando se usan array de componentes de un form
siempre se inicia de 0

como indica el amigo Mosiah
__________________
gerardo
  #4 (permalink)  
Antiguo 27/03/2008, 11:56
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Sonrisa Re: Problema script Internet Explorer

yo hago algo parecedio cuando son radios

var selalum = "f";
for(tipo=0;tipo<document.formulario.txedacademico. length;tipo++)
{
if(document.formulario.txedacademico[tipo].checked==true)
{
selalum = "v";
break;
}
}
if(selalum =="f")
{
alert("Se requiere el estado academico del aspirante");
return (false);
}

saludos
__________________
gerardo
  #5 (permalink)  
Antiguo 27/03/2008, 16:49
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Problema script Internet Explorer

Hola a todos, os comento. Viendo que no avanzaba con el asunto en días he tirado por la calle de en medio y he dado con la solución.
Apunto el código a continuación por si alguien llegado el día se encuentra en un caso parecido.

Código:
function Validar(long) { 
	var valido=false;
	for( var i = 1; i < long.value; i++) {
		if((document.getElementsByName("checkbox"+i)[0])&&(document.getElementsByName("checkbox"+i)[0].checked)){
			valido=true;
			break;
		}	
	}
	if(!valido){
		alert("Please, select at least one car.");
		return false;
	}		
}
La variable long que paso como parametro es un campo hidden en el formulario equivalente al contador de campos checkbox.
El bucle for lo empiezo en 1 porque el contador de checkboxes empieza en 1 (el cero no me gustaba ).
Este si que funciona en Firefox y en Internet Explorer (el otro en la versión 6 no funcionaba).
Gracias a todos los que os habeis molestado en buscarle solución al asunto.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:47.