A jQuery plugin to determine when a form has been modified (dirtied) and act accordingly
All state information about the form is held in the data object for the form rather than adding data-
attributes to the DOM
https://gitter.im/jquerydirty/Lobby
$("#myForm").dirty();
-
preventLeaving
- boolean indicating whether on not to show a warning if the user attempts to navigate away from the form with pending changes- Default: false
-
leavingMessage
- message to display when preventLeaving is true- Default: 'There are unsaved changes on this page which will be discarded if you continue.'
-
onDirty
- function called when form is modified -
onClean
- function called when form is restored to original state
$("#myForm").dirty("isDirty");
returns true if a form has been modified
$("#myForm").dirty("isClean");
returns true if a form has not been modified
$("#myForm").dirty("refreshEvents");
remove and reapply events. Can be used if content is dynamically added to form
$("#myForm").dirty("resetForm");
reset the form to the original state when $("#myForm").dirty();
was called
$("#myForm").dirty("setAsClean");
set the current state of the form as the 'clean' state. Calling resetForm
after this will restore the form to the state when setAsClean
was called
$("#myForm").dirty("setAsDirty");
set the current state of the form as the 'dirty' state
$("#myForm").dirty("showDirtyFields");
returns jQuery array of all modified fields in the form
Thanks to Tomasz Świenty for feedback and a fix for an issue where a value could resolve as null