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

    Passaggio dati da form tra pagine tramite popup

    Ciao a tutti,
    premetto che sono a digiuno di javascript..

    La mia situazione è la seguente: devo effettuare l'inserimento di tali dati su due database in contemporaneo al submit di un unico bottone..

    Premettendo che tutto funziona, ho realizzato una form con un campo testo e un bottone con 2 azioni:

    - con form action -> www.miosito.it/inserimento1.php

    - onSubmit="inviaDati()" -> www.altrosito.it/inserimento2.php

    Quindi al submit vorrei che avvenga il primo inserimento e il secondo inserimento con il passaggio dei parametri in maniera invisibile e l'esecuzione dello script di inserimento2 con aperura e chiusura di un popup..

    La situazione funziona tranne che per una cosa: ho predisposto che la funzione js inviaDati() apra un popup con inserimento2 che si chiude subito al caricamento..ma avviene la cosa contraria e cioè: una volta fatto il submit si apre e si chiude un popup di inserimento1 e rimane aperta la pagina di inserimento 2..

    io vorrei la situazione inversa! Cioè al submit parte lo script di inserimento2 in maniera invisibile quindi che si apre e si chiude il popup mentre in inserimento 1 vedo i risultati..

    Avete capito qualcosa? Spero di si

    Passiamo al codice:

    pagina con form:
    codice:
    <form action="miosito.it/inserimento1" method="POST" enctype="multipart/form-data" name="form" onSubmit="inviaDati()">
    	<input type="hidden" name="mail" id="mail" value="'.$mail.'">
    <input type="submit" name="Attiva" value="Attiva" />
    </form>
    funzione inviaDati()
    codice:
    function inviaDati()
    {
            var x = document.form.mail.value;
            window.open('','popup','width=200,height=200');
    	document.form.target = 'popup';
    	document.form.submit();
    	
    	location.href="http://www.altrosito.com/inserimento2.php?mail="+x;
    }
    inserimento2
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>
    
    <body onload="window.open('','popup').close()">
    
    <? 
    echo $_GET['mail'];
    echo '
    ';
    $mail = $_GET['mail'];
    
    ecc ecc
    Bene..detto questo io non so cosa fare! Ci sto sbattendo la testa da tutto il pomeriggio!

    Voi avete consigli? Grazie
    ..per fortuna che non esiste solo internet explorer!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova a dare un altro nome al form... come appare subito evidente il nome "form" e' una parola riservata...

    Comunque io la farei in modo piu' semplice... la prima pagina rilancia alla seconda restituendo al browser un semplice script:

    location.href="http://www.altrosito.com/inserimento2.php?mail=<? echo $_GET['mail']; ?>;

    qualora il tutto non fosse gestibile direttamente dal server con un redirect...

    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
    Grazie per la risposta..solo che non ho capito molto il tuo suggerimento..soprattutto qui:

    Originariamente inviato da br1
    la prima pagina rilancia alla seconda restituendo al browser un semplice script:

    location.href="http://www.altrosito.com/inserimento2.php?mail=<? echo $_GET['mail']; ?>;

    qualora il tutto non fosse gestibile direttamente dal server con un redirect...
    Non ho capito nel js cosa deve succedere
    ..per fortuna che non esiste solo internet explorer!

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    prova con print '<script>self.close();</script>';
    nella seconda

    Ma i dati i del form li passi in post come fai a recuperarli in get??

  5. #5
    Originariamente inviato da guarnieri
    Prova a recuperarli in post nella seconda pagina, il form e' in method post

    <?
    $mail= $_POST['mail'];
    echo '$mail';
    ....

    Forse era questo il problema
    Avevo già provato con POST ma non è questo il problema perchè il parametro mi viene passato..

    il problema è che al submit mi apre il popup della pagina che dovrebbe rimanere aperta(inserimento1) e l'altra (inserimento2) che dovrebbe aprirsi e chiudersi in popup si apre nella stessa pagina e rimane aperta!

    Si è capito qualcosa? :master:

    Insomma sono invertite!
    ..per fortuna che non esiste solo internet explorer!

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    io faccio cosi' per una struttura simile alla tua,

    vedi il document.modulo( o nome del tuo form).target="_self";

    apertura popup .....

    window.open('','nome','width=385,height=215,left=1 93,top=267,location=no')
    document.modulo.azioneespanso.value="B";
    document.modulo.target="_self";
    document.modulo.target="nome";
    document.modulo.action="calcolacosti.php";
    document.modulo.submit();
    ......

    popup .....

    $mail= $_POST['mail'];
    print '<script>self.close();</script>';

    ....

  7. #7
    Originariamente inviato da guarnieri
    io faccio cosi' per una struttura simile alla tua,

    vedi il document.modulo( o nome del tuo form).target="_self";

    apertura popup .....

    window.open('','nome','width=385,height=215,left=1 93,top=267,location=no')
    document.modulo.azioneespanso.value="B";
    document.modulo.target="_self";
    document.modulo.target="nome";
    document.modulo.action="calcolacosti.php";
    document.modulo.submit();
    ......

    popup .....

    $mail= $_POST['mail'];
    print '<script>self.close();</script>';

    ....
    Grazie guarnieri con questo spunto ho fatto un passo in avanti ma c'è ancora qualcosa che non va!

    Allora inserimento2 si apre correttamente in popup ma inserimento1 in cui c'è la form e deve eseguire il suo inserimento rimane aperta ma non esegue nulla!

    Questa è la form:
    codice:
    <form action="inserimento1" method="POST" enctype="multipart/form-data" name="attiva_form" onSubmit="inviaDati()">
    	<input type="hidden" name="mail" id="mail" value="'.$mail.'">
    <input type="submit" name="Attiva" value="Attiva"  />
    </form>
    Quindi con l'action parte inserimento1 e nella stessa pagina mi dovrebbe restituire il risultato dell'inserimento mentre con onSubmit parte l'inserimento2 su un altro sito e mi dovrebbe restituire il risultato con il popup..


    funzione:
    codice:
    function inviaDati()
    {
    var x = document.attiva_form.mail.value;
    
    document.attiva_form.target='self';
    
    window.open('','popup','width=385,height=215,left=193,top=267,location=no')
    
    document.attiva_form.action='http://www.altrosito.com/inserimento2.php?mail='+x;
    
    document.attiva_form.submit();
    
    }
    Quindi il popup parte ed esegue l'inserimento2 ma inserimento1 non esegue nulla..
    che dipenda da: document.attiva_form.action ?
    ..per fortuna che non esiste solo internet explorer!

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    In che senso non fa nulla? Non ottiene i dati o cosa?

    Ciao

  9. #9
    Originariamente inviato da guarnieri
    In che senso non fa nulla? Non ottiene i dati o cosa?

    Ciao
    Rimane aperta con il bottone..sembra che non faccia l'action ma solo la funzione al onSubmit
    ..per fortuna che non esiste solo internet explorer!

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Scusa ma da qua mi devo fermare, sono un neofita e anche di pessimo di livello.

    Aspettiamo gli esperti per risolverti il problema. Solo una cosa se posti un po piu' di codice forse e' meglio perche' io non ho capito cosa intendi con "Rimane aperta con il bottone..sembra che non faccia l'action ma solo la funzione al onSubmit"

    Ciao

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.