469,578 Members | 1,775 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,578 developers. It's quick & easy.

AJAX-DOM: problemi con select dinamiche in IE7

Salve a tutti.
Ho un problema con IE7.

Ho implementato una pagina .asp che tramite tecnologia AJAX mi crea una
serie di select nidificate (il classico esempio delle Regioni-Province
--scelgo dalla prima select una regione d'Italia e popolo
dinamicamente la seconda select con le province corrispondenti).

Tutto questo funziona perfettamente con FireFox.
Mi sono accorto poi che su Internet Explorer 7 invece non funziona per
niente (?).

Io ho implementato una pagina .asp che richiama un file .js (dove
tramite AJAX popolo le mie select) utilizzando come webserver IIS.
Utilizzo Windows XP come S.O.

Su internet non ho trovato nulla che potesse aiutarmi a capire questo
strano problema.

Dalla mia umile esperienza direi che si tratta di qualche errore di
sintassi a livello di javascript che IE7 non riesce a risolvere.
Il fatto è che la mia pagina .js (utilizzo anche il DOM) l'ho
strutturata basandomi sullo standard del W3C
(http://www.w3schools.com/) ma potrei ovviamente aver dimenticato
qualcosa.

Suggerimenti?

La struttura della mia applicazione è questa:
1) pagina default.asp che contiene le select dinamiche con valori
prelevati da un database;
2) nell'evento ONCHANGE di ogni select richiamo una funzione javascript
che implementa la tecnologia AJAX: --creo l'oggetto xmlHttpRequest
....
xmlHttp = getXmlHttpObject())
xmlHttp.onreadystatechange = stateChanged; //funzione da richiamare
quando cambia lo stato dell'oggetto
var url = "cerca.asp"; //mi restituirà le OPTION della select figlio
xmlHttp.open("GET", url + "?idpadre=" + ID, true);
xmlHttp.send(null);
....
// funzione che ricava l'oggetto in base al browser dell'utente
function getXmlHttpObject()
{
var objXmlHttp = null;
if(window.XMLHttpRequest)
{
objXmlHttp = new XMLHttpRequest(); // code for Mozilla, etc.
}
else if(window.ActiveXObject)
{
objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // code for IE7
?!?!?
}
return objXmlHttp;
}
....
// funzione da eseguire quando cambia lo stato dell'oggetto
function stateChanged()
{
....
//visualizzo il risultato del file aperto con l'oggetto xmlHttp
document.getElementById(SelectName).innerHTML = xmlHttp.responseText;
....
}

3) il file cerca.asp esegue una query sul database estrapolando tutti i
record figli della select selezionata --in pratica con una serie di
Response.Write stampo le varie OPTION;

Forse non è un problema di oggetti in quanto facendo la ResponseText
del mio httpRequest i dati delle select li visualizzo... quindi deduco
che l'oggetto venga creato correttamente sia su FireFox che su IE7....
Nella mia funzione:

// funzione che ricava l'oggetto in base al browser dell'utente
function getXmlHttpObject()
{
var objXmlHttp = null;
// code for Mozilla, etc.
if(window.XMLHttpRequest)
{
alert('MOZILLA');
objXmlHttp = new XMLHttpRequest()
}
// code for IE
else if(window.ActiveXObject)
{
alert('IE');
objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
}
return objXmlHttp;
}

stampo sempre MOZILLA sia su fireFox che su IE7. Questo perchè (credo)
entrambi i browser utilizzano l'oggetto XMLHttpRequest più standard e
indipendente.

Detto ciò, il problema continua a restare però.... :-(

Grazie e buona giornata a tutti.

Luigi.

Jan 16 '07 #1
1 6170
ASM
di*********@gmail.com a écrit :
[snip]
La struttura della mia applicazione è questa:
1) pagina default.asp che contiene le select dinamiche con valori
prelevati da un database;
2) nell'evento ONCHANGE di ogni select richiamo una funzione javascript
che implementa la tecnologia AJAX: --creo l'oggetto xmlHttpRequest
...
xmlHttp = getXmlHttpObject())
xmlHttp.onreadystatechange = stateChanged; //funzione da richiamare
quando cambia lo stato dell'oggetto
var url = "cerca.asp"; //mi restituirà le OPTION della select figlio
xmlHttp.open("GET", url + "?idpadre=" + ID, true);
Après l'italien, un peu d'espagnol ?

de donde viene este ID ?
xmlHttp.send(null);
...
// funzione che ricava l'oggetto in base al browser dell'utente
Mirar luego (see bellow)
...
// funzione da eseguire quando cambia lo stato dell'oggetto
function stateChanged()
{
...
//visualizzo il risultato del file aperto con l'oggetto xmlHttp
document.getElementById(SelectName).innerHTML = xmlHttp.responseText;
como no se que es este SelectName ...
Is it a select tag ?
If yes, on my idea you cannot innerHTML all your options this way,
but I can make a mistake ...
...
}

3) il file cerca.asp esegue una query sul database estrapolando tutti i
record figli della select selezionata --in pratica con una serie di
Response.Write stampo le varie OPTION;

Forse non è un problema di oggetti in quanto facendo la ResponseText
del mio httpRequest i dati delle select li visualizzo... quindi deduco
che l'oggetto venga creato correttamente sia su FireFox che su IE7....
Nella mia funzione:

// funzione che ricava l'oggetto in base al browser dell'utente
function getXmlHttpObject() {
var http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!http_request) {
alert('Abandon : Impossible de créer une instance XMLHTTP');
return false;
}
else alert('tutti va bene');
return http_request;
}
--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé
Stephane Moriaux and his (less) old Mac already out of date
Jan 16 '07 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

11 posts views Thread by Yarco | last post: by
4 posts views Thread by bobzimuta | last post: by
2 posts views Thread by Alex | last post: by
7 posts views Thread by Thirsty Traveler | last post: by
5 posts views Thread by darrel | last post: by
1 post views Thread by www.web20developers.com | last post: by
10 posts views Thread by =?Utf-8?B?WWFua2VlIEltcGVyaWFsaXN0IERvZw==?= | last post: by
2 posts views Thread by soni2926 | last post: by
6 posts views Thread by Scott M. | last post: by
reply views Thread by suresh191 | last post: by
4 posts views Thread by guiromero | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.