Confirm to leave the page when editing a form with jQuery

jquery

Solution

You can do this using `window.onbeforeunload` like this:

window.onbeforeunload = function() {
    return 'Are you sure you want to navigate away from this page?';
};

So in your code, you would put that inside the `success` callback of your `$.ajax` call.

To unset the confirmation, you can do this:

window.onbeforeunload = null;

Also, see this answer: How can I override the OnBeforeUnload dialog and replace it with my own?

Problem

I am coding a form and I need a function like stackoverflow have: "You have started writing or editing a post.". I've looked through the code of stackoverflow to see how they do it but I don't get it at all to apply to my simple form. This is what they have on question.js: ``` function initNavPrevention(b) { if (b.which == "undefined") { return } var a = $("#wmd-input"); a.unbind("keypress", initNavPrevention); setConfirmUnload("You have started writing or editing a post.", a) } ``` One of the functions triggers this (I don't know what c is): ``` if (c) { e.keypress(initNavPrevention) } ``` And finally they have `setConfirmUnload(null);` to disable it I suppose. My case is simple. I have a page where I load a `<form />` via AJAX and I want to prevent when this form is loaded to leave the page without click on the SUBMIT button or if the user clicks CANCEL the form is disabled and the prevention will not popup. Having this code, can someone tell me how I can include it on my website? This is my AJAX function to load the form: ``` $("#projects_historics_edit_part_1").click(function(){ $("#ajax-loader").fadeIn('normal'); $.ajax({ url: BASE_URL + 'projects/ajax/get_historics_edit_part_1/' + PROJECT_ID, type: "POST", success: function(data) { $("div#projects_historics_part_1").html(data); $("#client").autocomplete(client_autcomplete_options); var inicofin = $("#initdate, #findate").datepicker(initdate_datepicker_options); } }); $("#ajax-loader").fadeOut("normal"); return false; }); ``` Thank you in advance!

Original source

Related problems