$(document).ready(function() { $('body').on( 'change', 'form[data-unsaved-warning] select, form[data-unsaved-warning] input, form[data-unsaved-warning] textarea', function(e) { $(e.target).parents('form').attr('data-unsaved-changes', '1'); } ); $('body').on('submit', 'form[data-unsaved-warning]', function(e){ $(e.target).data('submitting', '1'); $(e.target).data('unsaved-changes', '0'); }) $(window).bind('beforeunload', function(e){ var error = ''; $('form[data-unsaved-changes="1"]').each(function(i, form) { if ($(form).data('submitting') !== '1') { error = "Warning : you did not save your form !"; } }) if (error != '') { return error; } }); });