Ciao ragazzi!
Ancora una volta IE7 fa i capricci...
Provo a spiegarvi la situazione. In una pagina c'è un suggeritore tipo google suggest a partire dal quale viene selezionato il nome di una persona. Quando questa viene selezionata, una funzione in ajax recupera i dati della persona e li mostra subito a schermo tramite l'inner HTML.
Mentre su Firefox funziona tutto correttamente, su IE7 appare "Error reading the response [object error]]". Il problema è legato ai campi in cui ci sono i contatti, che vi allego.
ecco la funzione incriminata in ajaxcodice:<fieldset> <legend>Contatti</legend> <div id="email"><label for="dati_email">Email</label><input id="dati_email" name="dati_email" type="text" value="" READONLY/></div> <div id="telefono_fisso"><label for="dati_telefono_fisso">Telefono fisso</label><input id="dati_telefono_fisso" name="dati_telefono_fisso" type="text" value="" READONLY/></div> <div id="telefono_cellulare"><label for="dati_telefono_cellulare">Dati telefono cellulare</label><input id="dati_telefono_cellulare" name="dati_telefono_cellulare" type="text" value="" READONLY/></div> <div id="fax"><label for="dati_email">Email</label><input id="dati_fax" name="dati_fax" type="text" value="" READONLY/></div> </fieldset>
Graziecodice:function handleServerResponseDatiRubrica() { // read the message from the server var xmlResponse = xmlHttp2.responseXML; // obtain the XML's document element xmlRoot = xmlResponse.documentElement; //sto omettendo il codice degli altri campi perché funzionano //recupero i valori di email e li stampo su schermo emailRubrica = xmlRoot.getElementsByTagName("email"); email = document.getElementById("email"); //sembra che non vada bene la riga precedente perché il codice successivo a questo commento non viene eseguito n = 1; email.innerHTML = ''; for(var i=0; i<emailRubrica.length; i++){ num_email = (n>1) ? n : ''; input = '<div><label for="email_'+ n +'">Email '+ num_email +'</label><input id="email_'+ n +'" name="email_'+ n +'" type="text" value="'+ emailRubrica.item(i).firstChild.data +'" READONLY/></div>'; n = n + 1; email.innerHTML += input; } //recupero i valori di telefono fisso e li stampo su schermo telefonoFissoRubrica = xmlRoot.getElementsByTagName("telefono_fisso"); telefono_fisso = document.getElementById("telefono_fisso"); n = 1; telefono_fisso.innerHTML = ''; for(var i=0; i<telefonoFissoRubrica.length; i++){ num_telefono_fisso = (n>1) ? n : ''; input = '<div><label for="telefono_fisso_'+ n +'">Telefono fisso '+ num_telefono_fisso +'</label><input id="telefono_fisso_'+ n +'" name="telefono_fisso_'+ n +'" type="text" value="'+ telefonoFissoRubrica.item(i).firstChild.data +'" READONLY/></div>'; n = n + 1; telefono_fisso.innerHTML += input; } //recupero i valori di telefono cellulare e li stampo su schermo telefonoCellulareRubrica = xmlRoot.getElementsByTagName("telefono_cellulare"); telefonoCellulare = document.getElementById("telefono_cellulare"); n = 1; telefonoCellulare.innerHTML = ''; for(var i=0; i<telefonoCellulareRubrica.length; i++){ num_telefono_cellulare = (n>1) ? n : ''; input = '<div><label for="telefono_cellulare_'+ n +'">Telefono cellulare '+ num_telefono_cellulare +'</label><input id="telefono_cellulare_'+ n +'" name="telefono_cellulare_'+ n +'" type="text" value="'+ telefonoCellulareRubrica.item(i).firstChild.data +'" READONLY/></div>'; n = n + 1; telefonoCellulare.innerHTML += input; } //recupero i valori di fax e li stampo su schermo faxRubrica = xmlRoot.getElementsByTagName("fax"); fax = document.getElementById("fax"); n = 1; fax.innerHTML = ''; for(var i=0; i<faxRubrica.length; i++){ num_fax = (n>1) ? n : ''; input = '<div><label for="fax_'+ n +'">Fax '+ num_fax +'</label><input id="fax_'+ n +'" name="fax_'+ n +'" type="text" value="'+ faxRubrica.item(i).firstChild.data +'" READONLY/></div>'; n = n + 1; fax.innerHTML += input; } }![]()

Rispondi quotando
