Salve a tutti. Avevo postato su ASP e mi scuso con il moderatore se riposto qui che credo sia più adatto. Passo al mio problema.
In una pagina asp prelevo alcuni dati (ad esempio news) e tramite un pulsante invoco la funzione che mi consente di integrare dei dati esterni (ad esempio fotogalley associata) in un DIV della pagina senza ricaricarla. Funziona tutto regolare finchè non decido di caricare tutte le news del db utilizzando il ciclo do while not rs.eof.
A questo punto il DIV diventa dinamico e così anche lo script ajax.js che includo per intero nella pagina asp e la cui funzione varia in base all'ID del record estratto.
Il problema che si verifica è il seguente:
cliccando sul pulsante FOTOGALLERY, mi estrae regolarmente i dati ma li include nel DIV dell'ultimo record estratto, anche se questo ha un nome diverso nello script della funzione richiamata.
Lo script ajax è il seguente:
<script language="JavaScript" type="text/javascript">
var XMLHTTP;
function richiesta<%=rs("id")%>(Stringa<%=rs("id")%> )
{
if (Stringa<%=rs("id")%>.length > 0)
{
var url = "gestione/gallery.asp?stringa=" + Stringa<%=rs("id")%>;
XMLHTTP = RicavaBrowser(CambioStato);
XMLHTTP.open("GET", url, true);
XMLHTTP.send(null);
}
else
{
document.getElementById("risultati<%=rs("id")%>"). innerHTML = "";
}
}
function CambioStato()
{
if (XMLHTTP.readyState == 4)
{
var R = document.getElementById("risultati<%=rs("id")%>");
R.innerHTML = XMLHTTP.responseText;
}
}
function RicavaBrowser(QualeBrowser)
{
if (navigator.userAgent.indexOf("MSIE") != (-1))
{
var Classe = "Msxml2.XMLHTTP";
if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
{
Classe = "Microsoft.XMLHTTP";
}
try
{
OggettoXMLHTTP = new ActiveXObject(Classe);
OggettoXMLHTTP.onreadystatechange = QualeBrowser;
return OggettoXMLHTTP;
}
catch(e)
{
alert("Errore: l'ActiveX non verrà eseguito!");
}
}
else if (navigator.userAgent.indexOf("Mozilla") != (-1))
{
OggettoXMLHTTP = new XMLHttpRequest();
OggettoXMLHTTP.onload = QualeBrowser;
OggettoXMLHTTP.onerror = QualeBrowser;
return OggettoXMLHTTP;
}
else
{
alert("Questa pagina non funziona con altri browser!");
}
}
</script>
Il pulsante che invia la stringa di richiesta è il seguente:
<input type="button" valore="<%=rs("id")%>&tipo=Immagine" value="Fotogallery" onclick="richiesta<%=rs("id")%>(this.valore)" name="Stringa<%=rs("id")%>"/>
Il DIV che riceve i dati è il seguente:
<td id="risultati<%=rs("id")%>" height="20"></td>
Secondo me doveva funzionare perchè associavo un nome preciso ad ogni variabile.
Perchè finisce tutto nell'ultimo DIV anche se l'ID è diverso ?
Grazie e complimenti per il forum.