Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Passaggio dati tra finestre

    Ciao a tutti,
    avrei un problemino da risolvere... Provo a spiegarlo.

    Ho una pagina contenente un form.
    Alcuni campi del form hanno accanto un pulsantino che apre in una popup una paginetta php che a sua volta ha un piccolo form, fa dei ragionamenti e se l'esito dell'elaborazione è positivo alimenta il campo della form nella pagina principale.
    In pratica, schematizzando al massimo, il giro dovrebbe essere:

    1) Alla pressione del pulsante si apre la popup
    2) la popup esegue delle operazioni
    3) Il valore risultante dalle operazioni della popup alimenta il relativo campo del form nella pagina principale
    4) la popup si chiude automaticamente (possibilmente senza alert!)

    Ecco, sui punti 3 e 4 ho difficoltà!
    Qualcuno può aiutarmi?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    dalla finestra popup puoi assegnare un valore alla finestra genitrice con una sintassi del genere:

    codice:
    window.opener.document.nomeform.nomelemento.value = tuovalore;
    la chiave è quel window.opener (che appunto si riferisce alla finestra da cui window è stata aperta).

    Sbizzarrisciti.

    PS: se la finestra popup l'hai aperta come... popup, ossia tramite window.open, non ti verrà presentata la finestrella "tentativo di chiudere..."
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Originariamente inviato da Andrea1979
    dalla finestra popup puoi assegnare un valore alla finestra genitrice con una sintassi del genere:

    codice:
    window.opener.document.nomeform.nomelemento.value = tuovalore;
    la chiave è quel window.opener (che appunto si riferisce alla finestra da cui window è stata aperta).
    Ottimo grazie

    Un'altra cosa già che ci sono: è possibile valorizzare nomeform e nomelemento con variabili in modo da poter utilizzare lo stesso script in più pagine e per più elementi?

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    sì, per esempio... nella pagina madre:
    codice:
    window.open("finestra.php?formname=formxyz&fieldname=fieldxyz",..,..);
    e nella popup:
    codice:
    window.opener.document.forms['<?php echo($_GET['formname']);?>'].elements['<?php echo($_GET['fieldname']);?>'].value = valore_elaborazione;
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    ovvio....

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277
    Ciao a tutti.

    Interessante discussione, scusate se mi intrometto.

    Io nella pop-up vorrei mettere un form. Alla pressione del submit, il form si dovrebbe chiudere e tornare alla pagine genitrice.

    Io ho (ovviamente sbagliando fatto così:nella pop-up io ho:

    Codice PHP:
    <form method=post action='window.close();"pagina_genitrice.php">
    <?php
    print "<input type='hidden' name='COD_LE' value='$COD_LE'>";
    print 
    " DESCR2 <input type='text' size='40' name='DESCR_2' value='$DESCR_2'>
    "
    ;
    ?>
    <input type=submit name = 'Submit_le_dett' value = 'Submit' >
    </form>
    facendo click su submit mi apre la genitrice anche nella pop-up.

    Come fare?

    Grazie mille!

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    cioè tu vuoi passare i dati del form (quindi processarli?) alla pagina genitrice? Oppure ti andrebbe bene anche non processarli (e quindi il submit diventerebbe un semplice button)?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277
    Per il momento non mi interessa farli processare dalla pagina genitrice. Se però non è complesso spiegarlo, mi piacrebbe sapere come fare anche in questo secondo caso.

    Grazie mille!

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    allora nel secondo caso bisogna dare un nome alla pagina genitrice, in modo che poi la si possa impostare come target del form. Poi il resto diventa server-side (attenzione però, perché bisogna anche prevedere di salvare gli eventuali dati parziali presenti negli eventuali form nella pagina genitrice) per cui diventa complicato.

    Nel primo caso invece serve solo un po' di javascript (e il forum su cui siamo va bene). Il submit diventa un button, all'onclick fai eseguire una funzione javascript che "trasporti" con opportuni window.opener.document... di cui sopra i dati dalla popup alla pagina genitrice e come ultima cosa in tale funzione ci metti un window.close();
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277
    Perfetto.

    Quindi, siccome devo eseguire del codice php per eseguire delle update, in sintesi devo fare:

    1. un button che
    2. all'on click faccia una sequenza di elaborazioni tra cui:

    2.1 esecuzione del php (in pratica per updatare gli elementi messi sul form)
    2.2 una window.close() per tornare alla pagina corrente.

    Come posso ricolvere il punto 2.1?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.