Ho sviluppato il seguente codice per ottenere una lista di nazioni da un file XML
codice:
// crea l'oggetto per la comunicazione AJAX con il server
// compatibile con tutti i browser che supportano AJAX
var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest;
}
}
function startRequest(){
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", "inc/states.xml", true);
xmlHttp.send(null);
}
function handleStateChange() {
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200) {
listAllStates();
}
}
}
function listAllStates() {
var xmlDoc = xmlHttp.responseXML;
var allStates = xmlDoc.getElementsByTagName("country");
outputList(allStates);
}
function outputList(states) {
var out='<ul>';
var currentState = null;
for( i = 0; i < states.length; i++) {
currentState = states[i];
out = out + "<li onmousedown=\"change_lg('shipstate',this.innerHTML);\">" + currentState.childNodes[0].nodeValue + "";
}
out += '[/list]';
document.getElementById('lang_2').innerHTML = out;
click_lg(2);
}
Funziona bene con Firefox ma non con IE, ovvero non dà errore ma non riempie la lista
Come mai?
Grazie!!!