Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    8

    AJAX e ciclo in asp: problemi con popola div dinamico

    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.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non mi scuso, si fa spostare l'altra discussione :rollo:
    Ma l'attributo valore del pulsante cos'è? :master: anche sul funzionamento ho qualche dubbio come la logica.
    Onde evitare inutili giri di parole posta il link alla pagina pubblica.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.