Esta es mi primera experiencia en Ajax básicamente, y veo que al final, hagas lo que hagas siempre te acabas cagando en el explorer..., en fin...
Tengo estas funciones:
Código:
Pues bien, son unos combos dependientes que funcionana a las mil maravillas con Firefox, pero en explorer no...., lo curioso es que en la función carregaCombo3(), hay dos alerts comentados, si los descomento, en explorer funciona!..., pero no los quiero poner, claro...function xmlhttp(){ var xmlhttp; try{xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} catch(e){ try{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch(e){ try{xmlhttp = new XMLHttpRequest();} catch(e){ xmlhttp = false; } } } if (!xmlhttp) return null; else return xmlhttp; } function carregaCombo2 (url, comboAnterior, element_id) { var element = document.getElementById(element_id); var valorDependent = document.getElementById(comboAnterior); var x = valorDependent.value; var fragment_url = url+'?id='+x; var ajax = xmlhttp(); ajax.onreadystatechange = function() { if (ajax.readyState == 4) { element.innerHTML = ajax.responseText; } } ajax.open("GET", fragment_url); ajax.send(null); carregaCombo3('funcions/combo3.php', 'provincia_ruta', 'comarca'); } function carregaCombo3 (url, comboAnterior, element_id) { var element = document.getElementById(element_id); var valorDependent = document.getElementById(comboAnterior); var x = valorDependent.value; //alert(x); var valorDependent = document.getElementById(comboAnterior); var x = valorDependent.value; //alert(x); var fragment_url = url+'?id='+x; var ajax = xmlhttp(); ajax.onreadystatechange = function() { if (ajax.readyState == 4) { element.innerHTML = ajax.responseText; } } ajax.open("GET", fragment_url); ajax.send(null); carregaCombo4('funcions/combo4.php', 'provincia_ruta', 'comarca', 'poblacio'); }
En fin, he intentado poner un delay en el javascript, etc..., pero veo que en explorer coge las variables antes de que se cargue en la página...
Si alguien puede echarme un cable se lo agradeceré.
Saludos!!