Foros del Web » Programando para Internet » Javascript »

Error Al pasar una variable en js

Estas en el tema de Error Al pasar una variable en js en el foro de Javascript en Foros del Web. Que tal quisiera ver si me pueden hechar la mano dado que cuando corro este codigo en IE me manda error en la linea del ...
  #1 (permalink)  
Antiguo 28/09/2010, 10:11
 
Fecha de Ingreso: febrero-2010
Ubicación: Zapopan, Jal.
Mensajes: 8
Antigüedad: 14 años, 2 meses
Puntos: 0
Error Al pasar una variable en js

Que tal quisiera ver si me pueden hechar la mano dado que cuando corro este codigo en IE me manda error en la linea del document.getElementById(obj).innerHTML, sin embargo en los demás exploradores funciona correctamente. Alguien Sabe por que puede estar pasando?

Código:
function traedatos(datos,destino){
		var obj=destino;
		var ajax=objetoAjax();
		ajax.open("GET",'ajax.php?'+datos);
		ajax.onreadystatechange=function(){
		if(ajax.readyState==1){
			document.getElementById(obj).innerHTML='<img src="assets/load.gif" width="16" height="11" />';
		}
		if (ajax.readyState==4) {
			document.getElementById(obj).innerHTML=ajax.responseText;
		}
		}
		ajax.send(null);
}
  #2 (permalink)  
Antiguo 28/09/2010, 10:32
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: Error Al pasar una variable en js

paint us the big picture... o sea, cuentanos el problema completo. la función en si no tiene nada raro. revisa la consola de errores y presta atención al mensaje que indica, no tanto a la linea en que se produce. ¿que puede ser? dependerá de lo que indique el mensaje.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 28/09/2010, 10:37
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 19 años
Puntos: 79
Respuesta: Error Al pasar una variable en js

prueba reemplazando

document.getElementById(obj).innerHTML

por un alert

puede ser que el obj no exista.......pero falta mas detalle
  #4 (permalink)  
Antiguo 28/09/2010, 10:48
 
Fecha de Ingreso: febrero-2010
Ubicación: Zapopan, Jal.
Mensajes: 8
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Error Al pasar una variable en js

En si es una pagina que tiene un combobox y uno al seleccionar una opcion es una serie de combos uno de estados, al seleccionar un estado te llena las ciudades y al seleccionar las ciudades te llena las colonias, esto con Ajax, en Ambos exploradores es decir IE y FF lo hace y me carga bien los combos solo que en el como de Ciudades al seleccionar una me manda el siguiente error:

Código:
Detalles de error de página web

Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB0.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; InfoPath.2; FDM; .NET CLR 3.0.30729)
Fecha: Tue, 28 Sep 2010 16:39:18 UTC


Mensaje: 'document.getElementById(...)' es nulo o no es un objeto
Línea: 62
Carácter: 4
Código: 0
URI: http://www.misitio.com/js/acciones.js


Mensaje: 'document.getElementById(...)' es nulo o no es un objeto
Línea: 62
Carácter: 4
Código: 0
URI: http://www.misitio.com/js/acciones.js
y al seleccionar el valor del tercer combo me manda el siguiente error:

Código:
Mensaje: Error desconocido en tiempo de ejecución
Línea: 65
Carácter: 4
Código: 0
URI: http://www.misitio.com/js/acciones.js


Mensaje: Error desconocido en tiempo de ejecución
Línea: 65
Carácter: 4
Código: 0
URI: http://www.misitio.com/js/acciones.js

y el codigo en Js es el siguiente:

Código:
var valimg=false;
var valido=false;
var primero=1;
var num=1;
var ini=0;
var tempo;
var ruta="";

function abrecierra(id){
 mod=id;
	if(document.getElementById(id).style.display=="none")
	{
		document.getElementById(id).style.display="block";
	}else{
	document.getElementById(id).style.display="none";
	}
}

function objetoAjax(){
	try 
{ 
// Creacion del objeto AJAX para navegadores  IE
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 

} 
catch(e) 
{ 
try 
{ 
// Creacion del objet AJAX para no IE 
 var xmlhttp=new ActiveXObject("Msxml12.XMLHTTP"); 
} 
catch(E) { xmlhttp=false; } 
} 
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { var xmlhttp=new XMLHttpRequest();} 

return xmlhttp;
}
		
function traedatos(datos,destino){
		var obj=destino;
		var ajax=objetoAjax();
		ajax.open("GET",'ajax.php?'+datos);
		ajax.onreadystatechange=function(){
		if(ajax.readyState==1){
			document.getElementById(obj).innerHTML='<img src="assets/load.gif" width="16" height="11" />';
		}
		if (ajax.readyState==4) {
			document.getElementById(obj).innerHTML=ajax.responseText;
		}
		}
		ajax.send(null);
}
De antemano gracias
  #5 (permalink)  
Antiguo 28/09/2010, 10:56
 
Fecha de Ingreso: febrero-2010
Ubicación: Zapopan, Jal.
Mensajes: 8
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Error Al pasar una variable en js

Cita:
Iniciado por Perr0 Ver Mensaje
prueba reemplazando

document.getElementById(obj).innerHTML

por un alert

puede ser que el obj no exista.......pero falta mas detalle
De hecho si lo quito y pongo un Alert lo ejecuta bien sin errores en ambos exploradores y ahi es donde entra mi duda por que manda ese error con el document.getElementById(obj).innerHTML en el IE
  #6 (permalink)  
Antiguo 28/09/2010, 11:00
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: Error Al pasar una variable en js

los primeros errores -nulo o no es un objeto- sucede porque estas haciendo referencia a un elemento que no existe. o sea, no existe un elemento con la ID indicada. últimamente he estado viendo temas similares y resulta que se debe porque hay quienes confunden el atributo name y id. asignale a los elementos involucrados el atributo id con un valor. los otros dos errores -error en tiempo de ejecución- es más difícil de corregir porque no es un error más específico y puede aparecer por diversas razones. se me ocurre que puediera ser por la propiedad innerHTML.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: html
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 17:21.