Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    7
    Mi inserisco in questa discussione perchè anche io avrei un problema simile.
    La differenza consiste in questo:
    dopo la chiamata submit() ho bisogno di svuotare la div che contiene i dati da inviare, così facendo però la nuova pagina non riceve niente.

    Vi posto il codice con cui ho cercato di ovviare, facendo prima lanciare la chiamata poi cancellando la div, ma non funziona.

    codice:
    function pulisci_omaggio(nomeDiv) {
            document.omaggio.method = "post";
            document.omaggio.action = "mio_file.php";
            document.omaggio.target = "_blank"
            document.omaggio.submit();
    	var elemento = prendiElementoDaId(nomeDiv);
    	elemento.innerHTML = "
    ";
    }
    Max

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da fraMax
    Mi inserisco in questa discussione perchè anche io avrei un problema simile.
    Il TUO problema nella SUA discussione?


    Prova a temporizzare l'operazione di "pulizia":

    setTimeout(function(){ elemento=prendiElementoDaId(nomeDiv);elemento.inne rHTML="
    ";},1000);
    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
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    7
    Scusa, ma era troppo simile e credevo che potessi inserirmi lì.

    Comunque ti dico che funziona il tuo suggerimento, però il setTimeout va messo prima della chiamata post.

    Grazie,
    sapevo che avevate la soluzione....

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    7
    Ho un'altra domanda:
    posso aprire due pagine con lo stesso form?

    Questo codice non mi funziona, apre solo il file2.php:

    codice:
    	
    	function due_pagine() {
    
    		
    	document.omaggio.method = "post";
            document.omaggio.action = "file1.php";
            document.omaggio.target = "_blank"
            document.omaggio.submit();
    
    	document.omaggio.method = "post";
            document.omaggio.action = "file2.php";
            document.omaggio.target = "_blank"
            document.omaggio.submit();
    			
    	}

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non cosi prova file1.php senza target (resti nella finestra madre) file2.php imposti il target (nuova finestra) la ritengo un po viziosa ma forse funziona, oppure altre soluzioni possono essere: invii a file1.php ad elaborazione finita rimandi a file2.php o unisci le due pagine php
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    7
    A me serve aprire due nuove pagine perchè mi creano dei pdf diversi sulla base degli stessi dati.

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da fraMax
    A me serve aprire due nuove pagine perchè mi creano dei pdf diversi sulla base degli stessi dati.
    Non credo sia possibile, ma se ci riesci posta la soluzione che potrebbe servire ad altri. Altrimenti segui una delle soluzioni che t'ho proposto
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Usa AJAX. Qualche giorno fa avevo scritto un esempio già pronto per ogni esigenza, lo trovi qui: https://developer.mozilla.org/en-US/...illa_framework ("A little vanilla framework"). Copiaincollalo e sostituisci la funzione processStatus() con:

    codice:
    	function processStatus (oData) {
    		if (oData.status > 0) { return; }
    		/* the form is now totally serialized! do something before sending it to the server... */
    		/* svuoto il div... */
    		prendiElementoDaId(nomeDiv).innerHTML = " ";
    		/* invio i dati al primo file (che è l'action del form predefinita settata via html).. */
    		submitData (oData);
    		/* Invio i dati al secondo file */
    		oData.receiver = "file2.php";
    		submitData (oData);
    	}
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

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.