Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    contenuto layer dinamico

    Ciao a tutti io ho una lista di categorie che riempio dinamicamente.
    Ora ogni categoria ha la sua descrizione e vorrei farla comparire in un layer sull'OnmuoseOver della categoria.
    Ecco cosa ho fatto ma non funziona.

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

    <%
    set rs=server.CreateObject("adodb.recordset")
    strsql="Select * From Categorie"
    rs.open strsql, conn
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="javascript"><!--
    function mostradiv(id, desc) {
    document.getElementById(id, desc).stile.display="block";
    }
    //--></script>
    </head>

    <body>
    <table width="664" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td><table width="664" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="432"></td>
    <td width="232"></td>
    </tr>
    <tr>
    <td valign="top" bgcolor="#E9E9E9" style="overflow: auto;">
    <table width="90%" border="0" align="center" cellpadding="0" cellspacing="2">
    <tr valign="top">
    <td width="23%" class="testo02"><div align="left">Categorie</div></td>
    </tr>
    <%do until rs.eof%>
    <tr onClick="location.href='dettaglio_categoria.asp?id _categoria=<%=rs("id_categoria")%>'" style="cursor:hand">
    <td height="30" class="testo01"><div align="left">","<%=rs("descrizione")%>");"><%=rs("titolo")% > </div></td>
    </tr>
    <%
    rs.movenext
    loop
    rs.close
    %>
    </table></td>
    <td width="225" height="176" align="left" valign="top"><div id="<%=id%>" style="position:absolute; display:none width:230px; height:173px; z-index:1; left: 500px; top: 34px;"><%=desc%></div></td>
    </tr>
    </table></td>
    </tr>
    </table>
    </body>
    </html>

    Mi potete aiutare, devo consegnare il lavoro per domani e non so come fare grazie a tutti ciaoo

  2. #2
    1. http://forum.html.it/forum/showthrea...threadid=97487 punto 13

    2. L'errore quale è? Non ti funziona il layer all'evento o non riesci a generare i dati da asp?

  3. #3
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    non capisco la funzione
    codice:
    <script language="javascript"><!-- 
    function mostradiv(id, desc) { 
    document.getElementById(id, desc).stile.display="block"; 
    } 
    //--></script> 
    io la modificherei
    <script language="javascript"><!-- 
    function mostradiv(id, desc) { 
    var x = document.getElementById(id);
    x.style.display = "block";
    x.innerHTML = desc;
    } 
    //--></script>
    ma in fondo vedo solo
    <td width="225" height="176" align="left" valign="top"><div id="<%=id%>" dove sta il valore di id e desc?

    nel senso, per come mi sembra di capire devi aprire la descrizione
    nel layer in fondo? quello con <td width="225" height="176" align="left" valign="top"><div id="<%=id%>"?

    se è cosi la funzione diventa
    codice:
    function mostradiv(desc) {
    function mostradiv(id, desc) { 
    var x = document.getElementById("LayerDesc");
    x.style.display = "block";
    x.innerHTML = desc;
    }
    il layer in fondo gli attribuisci il nome LayerDesc (o quello che ti pare basta che lo cambi anche nella funzione

    <td width="225" height="176" align="left" valign="top"><div id="LayerDesc"></div></td>

    cmq attento che nel campo descrizione devi fare l'escape di tutti i caratteri che possono dare noi al javascript (non so se basta un escape:
    ');"><%=rs("titolo")%>
    chiedo conferma ai + esperti
    e poi nella funzione metti
    x.innerHTML = unescape(desc);
    se invece devi mostrare la descrizione in un layer diverso a seconda della categoria e ti devi creare tanti layer per quante categorie sono (loopando il recordset)
    e a quel punto torni alla prima funzione con i 2 parametri function mostradiv(id, desc)

  4. #4
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    dimenticavo
    in ogni caso non tutti i browser supportano il document.getElementById() ma per questo ti conviene cercare nel forum Scripting

  5. #5

    mmm ecco cosa ho fatto:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="javascript"><!--
    function mostradiv(desc) {
    function mostradiv(id, desc) {
    var x = document.getElementById("LayerDesc");
    x.style.display = "block";
    x.innerHTML = unescape(desc);
    }
    }

    //--></script>
    </head>

    <body>
    <table width="664" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td><table width="664" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="432"></td>
    <td width="232"></td>
    </tr>
    <tr>
    <td valign="top" bgcolor="#E9E9E9" style="overflow: auto;">
    <table width="90%" border="0" align="center" cellpadding="0" cellspacing="2">
    <tr valign="top">
    <td width="23%" class="testo02"><div align="left">Categorie</div></td>
    </tr>

    <tr onClick="location.href='dettaglio_categoria.asp?id _categoria=1'" style="cursor:hand">
    <td height="30" class="testo01"><div align="left">Creazioni Siti DinamiciCreazioni Siti Dinamici </div></td>
    </tr>

    </table></td>
    <td width="225" height="176" align="left" valign="top"><div id="LayerDesc" style="position:absolute; display:none width:230px; height:173px; z-index:1; left: 500px; top: 34px;"></div></td>
    </tr>
    </table></td>
    </tr>
    </table>
    </body>
    </html>

    Si cmq io per ogni categoria del rs ho una descrizione diversa da far comparire nello stesso layer.

    cmq potete vedere la pagina qui:
    www.sigmatre.com/prova_categorie.asp
    ancora non funziona però non vedo nulla nel layer come mai?

    cmq grazie a tutti per l'aiuto.

  6. #6
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    ragazzi vi ringrazio alla fine ho risolto in una maniera semplicissima

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript">
    function carica(testo)
    {
    descrizione.innerHTML=testo
    }
    </script>
    </head>

    <body>


    </p>
    <table width="299" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="149" height="27" onMouseOver="carica('<%rs("descrizione")%>');" onMouseOut="carica('');" style="cursor:hand"><%=rs("titolo")%></td>
    <td width="150" rowspan="2"><div id="descrizione"></div></td>
    </tr>

    </table>
    </body>
    </html>

    Semplice no?
    Cmq grazie a tutti ciaoo

  7. #7
    PS. Per le proxime volte leggi cosa ho scritto nel mio post al punto 1.


  8. #8
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    :)

    Originariamente inviato da weppos
    PS. Per le proxime volte leggi cosa ho scritto nel mio post al punto 1.

    hai ragione!!!
    la prox non ometterò il tag

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.