Confirmez de quitter la page lors de la modification d'un formulaire avec jQuery

Je suis le codage d'un formulaire et j'ai besoin d'une fonction comme stackoverflow avoir: "Vous avez commencé à écrire ou éditer un post.".

J'ai regardé à travers le code de stackoverflow pour voir comment ils le font, mais je n'ai pas à demander à mon formulaire simple. C'est ce qu'ils ont sur 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)
}

L'une des fonctions les déclencheurs de cette (je ne sais pas ce que c est):

if (c) {
    e.keypress(initNavPrevention)
}

Et, enfin, ils ont setConfirmUnload(null); pour le désactiver, je suppose.

Mon cas est simple. J'ai une page où je charge un <form /> via AJAX et je veux éviter lorsque ce formulaire est chargé de quitter la page sans avoir à cliquer sur le bouton SOUMETTRE ou si l'utilisateur clique sur ANNULER le formulaire est désactivé et la prévention ne sera pas de popup.

Avoir ce code, quelqu'un peut-il me dire comment je peux l'inclure sur mon site web?

C'est ma fonction AJAX pour charger le formulaire:

$("#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;    
});

Vous en remercie d'avance!

source d'informationauteur udexter