Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    27

    wait() per la morte di una finestra figlia?!

    Come da titolo, esiste una funzione del genere in js?

    Tramite un form, cliccando sul bottone send, lancio la funzione PopupCentrata(), che carica un file .php al suo interno in una finestrella popup (con window.open()). Vorrei far in modo che la funzione PopupCentrata() aspettasse la morte della finestrella figlia prima di proseguire con il suo codice (che è il return per l'onSend del form)..

    Questa è la funzione:

    codice:
     <script language='Javascript'>
     function PopupCentrata(){
       retval = false;
       var w = 400; 
       var h = 250;
       var l = Math.floor((screen.width-w)/2);
       var t = Math.floor((screen.height-h)/2);
    	 
       var xyz = window.open("/modules/mod_shoutbox/pagina.php","Captcha","width=" + w + ",height=" + h + ",top=" + t + ",left=" + l);
    	 alert("quando hai inserito il captcha schiaccia ok");
    	 return retval;
    	}
    	</script
    Per ora ho risolto momentaneamente mettendo quell'alert alla fine della funzione, però non mi piace per nulla.

    Qualche idea? Non esiste una wait come in #c dove le passo il pid del figlio? Posso sfruttare in qualche modo la variabile xyz con dentro i dati del figlio?

    Grazie per l'aiuto in anticipo, attendo vostre risposte

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    no,
    e' rischioso (perche' la popup potrebbero essere bloccate, la principale cambiare nel frattempo...) ma puoi pensare di bloccare comunque l' invio
    e farlo dare dal codice caricato in popup richiamando
    window.opener.document.nomeForm.submit()

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    27
    uhm.. non riesco a farlo andare:

    codice:
    <form id="chatForm" name="chatForm" method="post" action="index.php">
    
    
    
                    ......
                    ......
                    ......
    </p>
    		......
                    ......
                    ......
    		<input type="hidden" id="jal_lastID" value="<?php echo $lastID + 1; ?>" name="jal_lastID" />
    		<input type="hidden" name="shout_no_js" value="true" />
    		<input type="submit" class="button" value="invia" onClick="return PopupCentrata()"/>
    	</form>
    il mio form è fatto in questo modo, se non ho capito male devo togliere il return dall'onclick..

    ora la funzione è la seguente:

    codice:
     <script language='Javascript'>
     function PopupCentrata(){
       retval = false;
       var w = 400; 
       var h = 250;
       var l = Math.floor((screen.width-w)/2);
       var t = Math.floor((screen.height-h)/2);
    	 
       var xyz = window.open("/modules/mod_shoutbox/pagina.php","Captcha","width=" + w + ",height=" + h + ",top=" + t + ",left=" + l);
    	 //alert("schiaccia il bottone..");
    	 //alert("ora retval vale: "+retval);
    	 //alert("quando hai inserito il captcha schiaccia ok");
    	 //return retval;
    	}
    	</script>
    ho commentato quel che non dovrebbe più servirmi, mentre nel file pagina.php ho inserito questo pezzo di codice:

    codice:
    window.opener.document.chatForm.submit();
    non sono sicuro che sia chatForm il nome del form che serva.. forse devo metter quello dell'input relativo al bottone?

    grazie per la risposta così rapida

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    il pulsante che fa da submit non c'entra nulla
    il form deve avere l' onsubmit="return PopupCentrata()"
    questa funzione deve ritornare espressamente false

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    27
    Ok funziona

    L'unico problema è che ad ogni invio, la shoutbox dovrebbe refresharsi "mediante ajax". Con quel comando all'interno del .php invece si refresha l'intera pagina. C'è qualche modo per ovviare questo fatto?

    Comunque sia grazie mille! Mi hai svoltato la giornata!

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.