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
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.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; } }
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?

Rispondi quotando