Hola tengo un problema muy extraño, no se que es lo que estare haciendo mal!
Mi codigo Es el siguiente (mi Class) y la arme yo, es por eso que no funciona
Código PHP:
function AjaxLoader(url, method, funcLoading, funcLoaded) {
//------------------------------------------------------
// CONSTRUCTOR
//------------------------------------------------------
_this = this;
//------------------------------------------------------
// CONECCION
//------------------------------------------------------
if(navigator.appName == "Microsoft Internet Explorer") {
try {
_this.conn = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
try {
_this.conn = new ActiveXObject('Microsoft.XMLHTTP');
} catch(e) {}
}
} else {
_this.conn = new XMLHttpRequest();
}
//var
//Subo a mayuscula, para ahorrar problemas jaja
_this.method = method.toUpperCase();
//Url
_this.url = url;
//Funciones
_this.funcLoaded = funcLoaded;
_this.funcLoading = funcLoading;
//Libero la memoria de las que no voy a usar
url = null;
method = null;
funcLoaded = null;
funcLoading = null;
//------------------------------------------------------
// METODOS
//------------------------------------------------------
//Maneja los eventos segun los estados de la coneccion
_this.estadosChange = function() {
if(_this.conn.readyState == 1) {
_this.funcLoading();
} else if(_this.conn.readyState == 4) {
_this.funcLoaded();
}
}
//Realiza el proceso de carga de la informacion
_this.Load = function(param) {
url = (_this.method == 'POST') ? _this.url : _this.url+"?"+param;
_this.conn.open(_this.method, url, true);
_this.conn.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
_this.conn.onreadystatechange = _this.estadosChange;
_this.conn.send((_this.method == 'POST') ? param : null);
}
//Devuelve el resultado del Request
_this.Response = function(type) {
if(type == 'text') {
return _this.conn.responseText;
} else {
return _this.conn.responseXML.documentElement;
}
}
}
Ahora bien, el problema viene cuando instancio los objetos
Código PHP:
res_view = new AjaxLoader('tfaltas.loader.php', 'GET', function(){
document.getElementById('res_tipos').innerHTML = loading_image('circle');
}, function(){
document.getElementById('res_tipos').innerHTML = res_view.Response('text');
});
infrac_view = new AjaxLoader('tfaltas.loader.php', 'GET', function(){
document.getElementById('infracciones').innerHTML = loading_image('circle');
}, function(){
document.getElementById('infracciones').innerHTML = infrac_view.Response('text');
});
infrac_view.Load('case=form_select_infracciones');
res_view.Load('case=res_tipos');
Ese codigo esta en un window.onload = function () { aqui el codigo anterior }
para que se ejecute cuando se carga la pagina, el tema es que solo se ejecuta la segunda llamada al metodo Load y si los invierto de posicion se ejecuta la primera, es como que solo se ejecuta la ultima, remplazando a las anteriores, pero no se porque sucede eso si yo instancio 2 variables con diferente nombre !
si alguien me ayuda por favor me desespera!... Es ilogico!
gracias!