Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    overlay con contenuto dinamico

    Ciao a tutti!
    Vi spiego il mio problema. Ho un link di questo tipo:

    Codice PHP:
    <? print("<a class=link href=\"visualizza_archivio.php?id=".$row['id']."\">".$row['data']." - ".$row['titolo']."</a>"); ?>
    e fin qui, nessun problema. Mi apre il contenuto tranquillamente in una pagina.
    Il problema è che questo contenuto deve aprirsi in un div overlay.
    Come faccio?

    HELP ME HELP ME
    Il tempo passa non solo per chi parla, ma anche per chi ascolta

  2. #2
    devi usare ajax per questo, ti consiglio di usare una libreria tipo http://www.prototypejs.org/

    C'è proprio l'oggetto Ajax.Updater che fa al caso tuo http://www.prototypejs.org/api/ajax/updater

  3. #3
    Ciao artorius e grazie 1000 per la dritta. Nel post che ho aperto xò dimenticavo di dire che non capisco un tubo di AJAX
    Potresti darmi una dritta proprio sul codice e su come va inserito nella pag?


    TNX
    Il tempo passa non solo per chi parla, ma anche per chi ascolta

  4. #4
    1-scarica il file prototype.js
    2-importalo nella pagina con un
    <script src="path/dove/hai/prototype.js" type="text/javascript"></script>
    3-metti un id al div in overlay (come id="TargetID")
    4-metti un bottone <input type="button" value="Click" onclick="updateIt()" />
    5- Scrivi la funzione js:
    function updateIt()
    {
    new Ajax.Updater('TargetID', 'il-tuo-file.html');
    }

    Ovviamente devi mettere i nomi dei tuoi file (e se il div in overlay ha un altro id devi mettere quello ad posto di TargetID)

  5. #5
    Ciao. Ho seguito le cose da fare che mi hai gentilmente postato, ma non funge. Mi apre una pagine normalmente.

    Sotto riporto il codice della mia pagina che si chiama archivio_news.php


    Codice PHP:
    <head>
    <script src="prototype.js" type="text/javascript"></script>
    </head>

    <body>
    <div id="TargetID"></div>

    <?php
        
    include("install.php");
        
    mysql_select_db($db_name$db)
        or die (
    "Errore nella selezione del database");
        
    $query=mysql_query("SELECT * FROM comunicati ORDER BY id DESC");
        if (
    mysql_num_rows($query)>0){
            while (
    $row=mysql_fetch_array($query)){
                print(
    "<a href=\"visualizza_archivio.php?id=".$row['id']."\">".$row['data']." - ".$row['titolo']."</a>");
            }
        }
        else {
            print(
    "Non ci sono archivi salvati");
        }
    ?>

    <input type="button" value="Click" onClick="updateIt()" />
    <script language="javascript">
        function updateIt() {
            new Ajax.Updater('TargetID', '<? print("visualizza_archivio.php?id=".$row['id']); ?>');
        }
    </script>
    Il tempo passa non solo per chi parla, ma anche per chi ascolta

  6. #6
    dove fai
    Codice PHP:
    while ($row=mysql_fetch_array($query)){ 
                print(
    "<a href=\"visualizza_archivio.php?id=".$row['id']."\">".$row['data']." - ".$row['titolo']."</a>"); 
            } 
    fai così:
    Codice PHP:
    while ($row=mysql_fetch_array($query)){ 
                print(
    "<a href=\"#\" onclick=\"updateIt(".$row['id'].")\">".$row['data']." - ".$row['titolo']."</a>"); 
            } 
    e modifica la funzione updateIt:
    <script type="text/javascript">
    function updateIt(targetId) {
    new Ajax.Updater('TargetID', 'visualizza_archivio.php', {parameters: {id : targetId}, method: 'get'});
    }
    </script>

  7. #7
    Mitico Funge!
    Xò mi servirebbe anche che il div in cui appare il contenuto dinamico sia tipo un pop up. Mi spiego meglio. Dovrebbe essere in primo piano e in una posizione ben precisa e poi si dovrebbe pure chiudere. Proprio come un pop up!

    Il tempo passa non solo per chi parla, ma anche per chi ascolta

  8. #8
    Metti il div in display:none;
    poi aggoiungi una funzione onComplete all'Ajax.Updater:


    usa prototype per ottenere le dimensioni della pagina, e poi inserisci il left ed il top del div

    Codice PHP:
    new Ajax.Updater('TargetID''visualizza_archivio.php', {parameters: {id targetId}, onComplete: function(){
       var 
    div = $('TargetID');
       var 
    winW 630;

       if (
    parseInt(navigator.appVersion)>3) {
          if (
    navigator.appName=="Netscape") {
             
    winW window.innerWidth;
           
          }
          if (
    navigator.appName.indexOf("Microsoft")!=-1) {
             
    winW document.body.offsetWidth;
           
          }
       }
       
    div.setStyle({
          
    display'block',
          
    left : ((div.getWidth() - winW) / 2)+"px",
          
    top"100px"  //Ma questo lo decidi tu in base alla pagina
       
    });
    }, 
    method'get'}); 
    Poi nel div metti anche un link con onclick="$('TargetID').setStyle({display : 'none'})"

  9. #9
    Ciao artorius,

    scusa ma non ho davvero capito. Ho copiato e incollato quello che hai scritto al posto dell'altra funzione, ma non funge. Ho pure messo il display: none e il left e top, ma niente. Dove sbaglio?
    Il tempo passa non solo per chi parla, ma anche per chi ascolta

  10. #10
    hai messo il codice in
    function updateIt() {
    //qui il codice
    }
    ?
    Se si, non hai il sito raggiungibile da qualche parte che ci do un'occhiata?

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.