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

    AJAX e do while: problemi con popola div dinamico

    Salve a tutti.

    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
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    8
    Forse ho sbagliato forum ?
    Forse dovevo postare in javascript o in AJAX ?

    C'è un'anima buona che può darmi qualche consiglio in merito ?

    Grazie.

  3. #3
    Se il codice ajax funziona, l'html è stampato correttamente, e il problema è solo di natura "javascript", nel senso che non sai come indicare allo script quale dei div usare.. beh il problema non è asp ma javascript

    e cmq, secondo me, faresti meglio ad usare prototype come framework per scrivere codice javascript/ajax

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    8
    Grazie del consiglio.

    E scusa la domanda: dove posso trovare informazioni su "prototype come framework per scrivere codice javascript/ajax".

    Ciao

  5. #5
    Originariamente inviato da luigic
    Grazie del consiglio.

    E scusa la domanda: dove posso trovare informazioni su "prototype come framework per scrivere codice javascript/ajax".

    Ciao
    provato a cercare "javascript prototype" con google?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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 © 2026 vBulletin Solutions, Inc. All rights reserved.