Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Pop-up con dati POST

  1. #1

    Pop-up con dati POST

    Salve a tutti. Il problema che non riesco a risolvere è il seguente: è possibile che l'elaborazione di una pagina php alla quale siano stati inviati dati con il metodo POST venga visualizzata in una finestra pop-up?

    Con il metodo GET questo funziona, perché mi basta costruire l'URL nel seguente modo:

    url = http://www.dominio.it/pagina.php?var1=val1&var2=val2

    e poi usare una funzione Javascript in cui utilizzo il comando:

    window.open(url, <name>, <parameters>)

    In questo modo, poiché è proprio la finestra pop-up che ha eseguito la richiesta la server, sarà a questa finestra che arriverà la risposta.

    Se però sono obbligato a usare il metodo POST, c'è un modo di ottenere lo stesso risultato?

    Grazie a tutti per l'attenzione.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    <form ... target="miaPop" onsubmit="window.open('','miaPop');">

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Grande BR1!

    Con Explorer funziona perfettamente, mentre purtroppo con Firefox non riesco a fargli aprire una finestra pop-up perché lui carica tutto nella stessa scheda della pagina dov'è il form.

    Il form è il seguente:

    <form name="pippo" onSubmit="apri('miaPop');" method="post" action="elabora.php" target="miaPop">

    La funzione apri(param) invece è:

    function apri(param) {
    window.open('',param,'name=Info, toolbar=no, scrollbars=yes, dependent=yes, resizable=yes, width=610, height=330');
    }

    Ho provato a cambiare impostazioni in Firefox, ma non è cambiato nulla anche eliminando ogni restrizione sia al Javascript che alla gestione dei pop-up.

    Sai se è aggirabile il problema o se invece non c'è modo?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova a togliere gli spazi fra i parametri della popup.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Non ci sono spazi nel codice; li ho inseriti nel post solo per facilitare la lettura.

    Sto facendo un po' di prove. Appena trovo un modo (se lo trovo) posto come ho fatto.

    Nel frattempo grazie ancora per l'aiuto!

  6. #6
    Come non detto, eccomi a riportare l'ennesima smentita cui i software spesso ci costringono.

    Funziona anche con Firefox, dopo averlo riavviato.
    L'anomalia penso sia dovuta al modo in cui Firefox gestisce gli ID delle finestre e/o delle schede che apre.

    Un problema simile si è già presentato per la gestione di login multipli su siti che facevano uso di variabili di sessione. Sembra che Firefox utilizzi lo stesso ID di processo per tutte le finestre e/o schede che apre e questo crea a volte certi problemi (prima o poi dovrò decidermi a trovare un modo di aggirarli...). Se la stessa cosa avviene anche a livello di gestione del nome della finestra, questo spiegherebbe perché dopo parecchi refresh, modifiche e rimbalzi tra una pagina e l'altra i pop-up siano deceduti! Forse l'anomalia di comportamento è dipeso da questo, forse ho solo sparato una grossa cavolata.

    In ogni caso ora funziona tutto!

  7. #7
    scusate...

    io sto provando a fare la stessa cosa...
    ho un form, e devo mandare i dati ad una pagina insmesswall.php.

    come devo scrivere nel form e nell'head??

    ora ho fatto:

    codice:
    function openwin(param) { 
    window.open('',param,'name=Info, toolbar=no, scrollbars=no, dependent=yes, resizable=no, width=300, height=120'); 
    }
    codice:
    <p align="center" style="border: 1px solid #000000;">
        <form name="messwall" onSubmit="openwin('insmesswall.php');" method="GET" action="insmesswall.php" target="insmesswall.php">
            Titolo:<input type="text" name="title" title="Titolo Commento">
    
            Commento: <textarea></textarea>
    
            Nome: <input type="text" name="mitt">
    
            <input type="hidden" name="dest" value="<?="$elem->id-$elem->nickname"?>">
            <input type="submit" value="invia">
        </form>
    </p>
    ma ovviamente non funziona... mi apre una normale finestra nuova...
    dove sbaglio??
    Ciao!

  8. #8
    A parte il fatto che, se usi il metodo GET, puoi permetterti di usare un altro sistema per caricare il contenuto generato dal file .php in una finestra pop-up (l'ho illustrato nel primo post di questa discussione), penso che dovresti eliminare il carattere "." dal nome della finestra, chiamandola semplicemente insmesswall. Non ho fatto prove, e quindi non posso esserne sicuro, però mi sembra che il carattere "." sia tra quelli non consentiti: l'unico carattere di interpunzione consentito senza problemi è il "_".

    L'altra cosa da evitare sono gli spazi presenti nella chiamata a window.open: elimina quindi tutti gli spazi che ci sono dopo le virgole.

    Tieni presente anche che, se la funzione "openwin" si limita ad eseguire una sola istruzione, potresti inserire quell'istruzione direttamente all'interno dell'attributo ONSUBMIT.

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    @fmortara
    chiudo questa discussione perche' oltre ad uppare questa ne hai aperta un' altra x lo stesso problema

    non sei in questo forum da ieri e ormai dovresti sapere quello che non e' permesso fare, come spiegato nel regolamento

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.