// Watch #my-form
$("#my-form").dirtyForm();
// Customize the warning message and watch all forms:
$("form").dirtyForm({
message: "Looks like you forgot to submit a form!"
});
The MIT License (MIT)
Copyright (c) [2015-2016] [Evgeny Orekhov]
// Watch #my-form
$("#my-form").dirtyForm();
// Customize the warning message and watch all forms:
$("form").dirtyForm({
message: "Looks like you forgot to submit a form!"
});
The MIT License (MIT)
Copyright (c) [2015-2016] [Evgeny Orekhov]
/*global jQuery, window */ | |
/*jslint this, browser */ | |
(function dirtyFormWrapper($) { | |
"use strict"; | |
/** | |
* dirtyForm | |
* A tiny jQuery plugin that watches forms change and warns the user | |
* if she forgets to submit one. | |
* | |
* @see {@link https://jsfiddle.net/ demo} | |
* | |
* @author EvgenyOrekhov | |
* | |
* @license MIT | |
* | |
* @example <caption>Watch #my-form.</caption> | |
* $("#my-form").dirtyForm(); | |
* | |
* @example <caption>Customize the warning message | |
* and watch all forms.</caption> | |
* $("form").dirtyForm({ | |
* message: "Looks like you forgot to submit a form!" | |
* }); | |
* | |
* @param {Object} [options] - The optional options object. | |
* @param {string} [options.message="There are unsaved changes."] - | |
* The warning message. | |
*/ | |
$.fn.dirtyForm = function dirtyForm(options) { | |
var defaultSettings = { | |
message: "There are unsaved changes." | |
}; | |
var settings = $.extend(defaultSettings, options); | |
var $window = $(window); | |
function onbeforeunload() { | |
return settings.message; | |
} | |
this | |
.one("change", function onchange() { | |
$window.on("beforeunload", onbeforeunload); | |
}) | |
.on("submit", function onsubmit() { | |
$window.off("beforeunload", onbeforeunload); | |
}); | |
return this; | |
}; | |
}(jQuery)); |
The MIT License (MIT) | |
Copyright (c) [2015-2016] [Evgeny Orekhov] | |
Permission is hereby granted, free of charge, to any person obtaining a copy | |
of this software and associated documentation files (the "Software"), to deal | |
in the Software without restriction, including without limitation the rights | |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
copies of the Software, and to permit persons to whom the Software is | |
furnished to do so, subject to the following conditions: | |
The above copyright notice and this permission notice shall be included in all | |
copies or substantial portions of the Software. | |
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |
SOFTWARE. |