Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505

    Eseguire perazioni a seguito dell'evento onbeforeunload

    Sto cercando di gestire un form e vorrei capire se l'utente sta effettuando un refresh oppure se ha premuto il pulsante submit.

    L'idea è questa: sia che si prema il pulsante submit, sia che si effettui il refresh della pagina, si scatena l'evento onbeforeunload, sapendo questo vorrei impostare una variabile js a false ed assegnargli true solo se si preme il submit, così so in che situazione mi trovo.

    Un primo tentativo è questo
    codice:
    var change = false;
    
    // questa è chiamata dalla pressione del submit al quale aggiungo
    // onclick='funzione_js()'
    function funzione_js()
    {
    	change = true;
    }
    
    window.onbeforeunload = function() {
    	
    	if ( ! change )
    	{
    		return 'Stai ricaricando la pagina, non si può!!!';
    	}
    	else
    	{
    		// qui vorrei metterci qualcosa che mi faccia saltare
    		// la visualizzazione della finestra
    		return true;
    	}
    }
    Il valore della variabile change cambia correttamente, ma il messaggio "Questa pagina richiede una conferma prima di poter uscire. I dati inseriti potrebbero non essere stati salvati." ed i pulsanti "Abbandona la pagina" e "Rimani su questa pagina" appaiono sempre e comunque.

    Come faccio a far apparire tale finestra solo se change==false e saltarla se invece è true?

    Inoltre, come si cambia il messaggio dato che appare sempre quello predefinito del browser e non quello che metto io nella funzione scritta prima?
    Ultima modifica di Alhazred; 28-09-2014 a 15:15

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Penso di aver trovato la risposta alle mie domande:
    1) basta non mettere niente nell'else
    2) non si può fare, non si può modificare in nessun modo il dialog box in questione

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non ho capito se hai risolto?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Per il punto 1) si, è bastato lasciare vuoto l'else e se premo il pulsante submit, che mette a true la variabile change, cambio correttamente pagina senza che il messaggio appaia.

    per il punto 2) invece ho letto in giro che il messaggio non è possibile personalizzarlo in alcun modo, ma se tu sai diversamente dimmi pure.

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.