jquery plugin to detect if the fields of a form had been modified
Clone or download
Latest commit 904a88f Sep 6, 2018

README.md

dirrty

lightweight jquery plugin to detect if the fields of a form had been modified.
If a field has been modified then the form is dirrty

  • Detect the moment when the form gets dirty, and trigger a custom event, for example enable a "save changes" button
  • Detect the moment when the form gets clean again, and trigger a custom event, for example disable the "save changes" button, cause is not necesary
  • Prompt the user to save changes before leaving if the form is dirty

The name comes from Christina Aguilera's 2002 song: https://www.youtube.com/watch?v=2xMWrKhLJq4

Usage

// this can be called on individual forms by id or on "form" to target all forms
// simultaneously
$('#form-id').dirrty({
  preventLeaving: false

  // this function is called when the form.trigger's "dirty"
}).on("dirty", function() {
  console.log("I'm dirty!")

  // this function is called when the form.trigger's "clean"
}).on("clean", function() {
  console.log("I'm clean!")
});

Options

name description default
preventLeaving show a message when a user attempts to leave the page with a dirty form true
leavingMessage the message to show when a user tries leaving the page with a dirty form. Most modern browsers no long support setting a custom message and will show their own message regardless. "You have unsaved changes"
onDirty depricated - see change function(){}
onClean depricated - see change function(){}

Methods

$("#form-id").dirrty("isDirty");

Lets you know if the form is dirty at a givent moment

Live Demo