Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100

    Passare dati a una popup

    Ciao a tutti.. allora.. problema del giorno ...

    Ho una pagina con un modulo select creato dinamicamente in base ai risultati del db.
    Ho inoltre un pulsante visualizza dettagli.

    quando clicco su dettagli vorrei si aprisse una nuova pagina con i dati richiesti, e fin qui.. ci sono arrivato.
    Il problema è che vorrei che la pagina nuova fosse una popup di dimensioni fisse.

    Ho provato inserendo nel form l'azione :

    action=\"javascript:window.open('dettagli_q.php',' _blank','toolbar=no,top=100,left=100,width=300,hei ght=200')\"

    Ma non mi funziona!

    Praticamente non mi passa le variabili POST

    Che faccio ? Questa è la pagina cn il codice :

    <?php
    include("dati_connessione.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE) die ("Errore nella connessione a MySQL");
    $connessione = mysql_select_db($db_name , $db);
    if ($connessione == FALSE) die ("Errore nella selezione del DB $db_name");
    $queryleggi = "SELECT id, localita FROM questure ORDER by localita ASC";
    $risultati = mysql_db_query($db_name,$queryleggi);
    if ($risultati == false) echo "Errore nella lettura dei dati<\n> $queryleggi

    ";
    $righe = mysql_num_rows($risultati);
    if ($righe > 0) {
    echo "<form action=\"javascript:window.open('dettagli.php','_b lank','toolbar=no,top=100,left=100,width=300,heigh t=200')\" method=\"post\" name=\"form1\">";
    echo "<select name=\"selzdett\" id=\"selzdett\" size=\"1\">";
    for ($c=0; $c < $righe; $c++)
    {
    $id = mysql_result($risultati, $c, "id");
    $localita = mysql_result($risultati, $c, "localita");
    echo "<option value=\"$id\">$localita</option>";
    };
    echo "</select>";
    };
    mysql_close($db);
    ?>
    <html>
    <head>
    <title>Prova</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript">
    </script>
    </head>
    <body>
    <input type="submit" name="invia" value="Visualizza dettagli">
    </form>
    </body>
    </html>

    GRAZIE!

  2. #2
    Praticamente non mi passa le variabili POST
    Infatti non le passi!!

    Prova a passare i parametri tramite GET, quindi modifica

    codice:
    action=\"javascript:window.open('dettagli_q.php','_blank','toolbar=no,top=100,left=1
    00,width=300,height=200')\"
    in
    codice:
    action=\"javascript:window.open
    ('dettagli_q.php?param1=$param1&......','_blank','toolbar=no,top=100,left=1
    ove param1, param2, ecc. sono i parametri che ti servono in 'dettagli_q.php.
    Ricorda che l' apertura di ogni singola pagina http è un "mondo isolato" ed il fatto che tu lo faccia con php non cambia nulla.

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100
    Io ho bisogno di passare il valore selezionato tramite il menu a discesa.

    Come associo la voce selezionata a una variabile da passare tramite $param ?

  4. #4
    Io faccio in questo modo:
    codice:
    function StartDownload(myForm)
    {
       var f = window.open('page.php','nome_frameset','scrollbars=no,width=200,height=10,top=100,left=100');
       myForm.method='post';
       myForm.action='page.php';
       myForm.target='nome_frameset';
       myForm.submit();
       f.focus();
    }
    Uso i frames per fare popup di attesa o cose simili...

    Ciau.

    Edit: Nel caso in cui non si capisse, è JS :P
    Horazon.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100
    in che senso usi i frame ?

    Scusa ma nn ho capito bene ...

    io cmq ho in pratica un area piccolina nella homepage dove sta la select (creata dinamicamente in php).
    Quando seleziono una voce e clicco sul pulsante Dettagli mi dovrebbe aprire la popup.

    Come lo applico il tuo esempio a me?
    Nn sn ancora molto ferrato in php/js

    Ciao! e cmq Grazie!

  6. #6
    Scusa, ho detto una vaccata.

    Sostituisci all'esempio di prima 'nome_frameset' con il nome che vuoi dare alla finestra, e cambia il nome della pagina di destinazione (page.php).

    Poi, per il pulsante dettagli usa un codice del tipo:
    codice:
    <input type="button" onClick="StartDownload (document.NOMEFORM)">
    Horazon.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100
    Scusa se ti tormento ... ma nn riesco a farlo funzionare.. ti posto il code dei due file :

    provaqp.php :

    <html>
    <head>
    <script language="JavaScript">
    function visualizzadettagli(listaq)
    {
    var f = window.open('dettagli.php','dettagli','toolbar=no, scrollbars=no,width=200,height=200,top=100,left=10 0');
    myForm.method='post';
    myForm.action='dettagli_q.php';
    myForm.target='dettagli';
    myForm.submit();
    f.focus();
    }
    </script>
    <?php
    include("dati_connessione.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE) die ("Errore nella connessione a MySQL");
    $connessione = mysql_select_db($db_name , $db);
    if ($connessione == FALSE) die ("Errore nella selezione del DB $db_name");
    $queryleggi = "SELECT id, localita FROM questure ORDER by localita ASC";
    $risultati = mysql_db_query($db_name,$queryleggi);
    if ($risultati == false) echo "Errore nella lettura dei dati<\n> $queryleggi

    ";
    $righe = mysql_num_rows($risultati);
    if ($righe > 0) {
    echo "<form name=\"listaq\">";
    echo "<select name=\"selzdett\" id=\"selzdett\" size=\"1\">";
    for ($c=0; $c < $righe; $c++)
    {
    $id = mysql_result($risultati, $c, "id");
    $localita = mysql_result($risultati, $c, "localita");
    echo "<option value=\"$id\">$localita</option>";
    };
    echo "</select>";
    };
    mysql_close($db);
    ?>

    <title>Prova</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript">
    </script>
    </head>
    <body>
    <input type="submit" name="invia" value="Visualizza dettagli" onClick="visualizzadettagli(document.listaq)">
    </form>
    </body>
    </html>

    ---------------

    dettagli_q.php :

    <?php
    if (isset($_POST['invia'])) {
    $id = $_POST['selzdett'];
    include("dati_connessione.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE) die ("Errore nella connessione a MySQL");
    $connessione = mysql_select_db($db_name , $db);
    if ($connessione == FALSE) die ("Errore nella selezione del DB $db_name");
    $queryleggi = "select * from questure where id = $id";
    $risultati = mysql_db_query($db_name,$queryleggi);
    if ($risultati == false) echo "Errore nella lettura dei dati<\n> $queryleggi

    ";
    $righe = mysql_num_rows($risultati);
    if ($righe > 0) {
    for ($c=0; $c < $righe; $c++)
    {
    $localita = mysql_result($risultati, $c, "localita");
    $indirizzo = mysql_result($risultati, $c, "indirizzo");
    $tel = mysql_result($risultati, $c, "tel");
    $fax = mysql_result($risultati, $c, "fax");
    echo "$localita
    $indirizzo
    $tel
    $fax
    ";
    };
    } else {
    echo "ATTENZIONE,

    Non è presente alcun indirizzo";
    };
    mysql_close($db);
    } else {
    echo "Variabili nulle";
    };
    ?>
    <html>
    <head>
    <title>Prova</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript">
    </script>
    </head>
    <body>
    </body>
    </html>

    ------------

    Grazie ancora!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100

    EUREKA!

    Horazon grazie!

    ci sono riuscito eheheh nn avevo cambiato nella funzione javascript il nome del form!!

    Mi sa ke mi serve una pausa eheheheh!!!

    Ciao!

  9. #9


    Bene ^^
    Horazon.

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.