[ASP] Aggiornare una pagina in un div da un altro div su pagina diversa

  • Creatore Discussione Creatore Discussione WebDr
  • Data di inizio Data di inizio

WebDr

Nuovo Utente
20 Mar 2017
17
4
3
68
Padova
Dunque, in un file main.htm ho due div: dx e sin, ciascun div al caricamento di main .htm carica un pagina asp:
la pagina A in div sin e la pagina B in div dx.
nella pagina A è contenuto un elenco (una sorta di menu), in cui ciascun link ricarica la pagina B nel div dx , passandole un valore es. href="paginaB.asp?ordini=2"
La domanda dopo questa, spero, chiara premessa, è una richiesta di sintassi, come devo scrivere il link?

top.qualcosa ..... come arrivo ad aggiornare il div di dx con un click su quello di sin?

Grazie.
 
...se non sbaglio dovresti usare 'iframe' e nel link indicare quale iframe deve aggiornarsi. Da una vita che non li uso, sinceramente non so neanche se i browser attuali li supportino.

C'è proprio bisogno di due pagine? non è possibile incorporare il codice in una unica pagina e puntare il menù di sinistra su se stesso aprendo un blocco di codice in query.string?

es: main.asp?frame=caramelle

Codice:
<%

If Request.QueryString("frame") = "caramelle" Then

%>
   Visualizzo quello che devo
<%

End IF

%>
 
Ciao WebDr, quello che chiedi tu si può fare utilizzando Ajax; ti incollo qui sotto una possibile soluzione che mi ha permesso di risolvere un problema simile tempo fa...l'alternativa è utilizzare un iframe come suggeriva Paolo, ma sarebbe meglio evitarli.

Il "menù", nel DIV A, con l'elenco degli ordini potrà esserre impostato così:

Codice:
<li><a href="#" onClick="loadXMLDoc(<%=rs("id")%>"> ordine nr. <%=rs("id")%></a></li>
dove rs("id"), se caricato dinamicamente da DB, è il riferimento al tuo numero d'ordine da passare poi al DIV B

Questo invece è il codice js che gestisce la composizione del DIV B

Codice:
    <script>
    function loadXMLDoc(ord) {
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp=new XMLHttpRequest();
        }
        else {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                document.getElementById("DIVB").innerHTML=xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET","cerca.asp?ord="+ord,true);
        xmlhttp.send();
    }
    </script>

Il parametro "ord" passato alla funzione è l'id dell'ordine.
Verifica che l'id del DIV sia effettivamente DIVB altrimenti modifica questo valore document.getElementById("DIVB") impostando l'effettivo ID del DIV; modifica anche xmlhttp.open("GET","cerca.asp?ord="+ord,true) mettendo il nome della pagina in cui estrai i dati dell'ordine; nella pagina "cerca", il parametro "ord" lo recuperi con un normalissimo request.querystring("ord").
Ricordati di includere jquery nella pagina.

Spero di aver compreso la tua richiesta e di esserti stato d'aiuto.

Ti rimando a questa discussione dove avevo appunto affrontato questo problema con il supporto di Marino51

Ciao
Sirio
 
Ultima modifica:
  • Like
Reactions: Paolo69

Discussioni simili