From cd5ec34dd4a9a7a920d8f2f4d7484be77ee3953a Mon Sep 17 00:00:00 2001 From: dafriend Date: Mon, 14 Jul 2014 14:59:33 -0500 Subject: [PATCH 1/7] --- jquery.are-you-sure.js | 392 +++++++++++++++++++++-------------------- 1 file changed, 202 insertions(+), 190 deletions(-) diff --git a/jquery.are-you-sure.js b/jquery.are-you-sure.js index 395a865..6ac3601 100644 --- a/jquery.are-you-sure.js +++ b/jquery.are-you-sure.js @@ -1,190 +1,202 @@ -/*! - * jQuery Plugin: Are-You-Sure (Dirty Form Detection) - * https://github.com/codedance/jquery.AreYouSure/ - * - * Copyright (c) 2012-2014, Chris Dance and PaperCut Software http://www.papercut.com/ - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Author: chris.dance@papercut.com - * Version: 1.8.0 - * Date: 22nd June 2014 - */ -(function($) { - - $.fn.areYouSure = function(options) { - - var settings = $.extend( - { - 'message' : 'You have unsaved changes!', - 'dirtyClass' : 'dirty', - 'change' : null, - 'silent' : false, - 'addRemoveFieldsMarksDirty' : false, - 'fieldEvents' : 'change keyup propertychange input', - 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])" - }, options); - - var getValue = function($field) { - if ($field.hasClass('ays-ignore') - || $field.hasClass('aysIgnore') - || $field.attr('data-ays-ignore') - || $field.attr('name') === undefined) { - return null; - } - - if ($field.is(':disabled')) { - return 'ays-disabled'; - } - - var val; - var type = $field.attr('type'); - if ($field.is('select')) { - type = 'select'; - } - - switch (type) { - case 'checkbox': - case 'radio': - val = $field.is(':checked'); - break; - case 'select': - if($field.val()) { - val = $field.val().toString(); - } else { - val = $field.prop("selectedIndex").toString(); - } - break; - default: - val = $field.val(); - } - - return val; - }; - - var storeOrigValue = function($field) { - $field.data('ays-orig', getValue($field)); - }; - - var checkForm = function(evt) { - - var isFieldDirty = function($field) { - var origValue = $field.data('ays-orig'); - if (undefined === origValue) { - return false; - } - return (getValue($field) != origValue); - }; - - var $form = ($(this).is('form')) - ? $(this) - : $(this).parents('form'); - - // Test on the target first as it's the most likely to be dirty - if (isFieldDirty($(evt.target))) { - setDirtyStatus($form, true); - return; - } - - $fields = $form.find(settings.fieldSelector); - - if (settings.addRemoveFieldsMarksDirty) { - // Check if field count has changed - var origCount = $form.data("ays-orig-field-count"); - if (origCount != $fields.length) { - setDirtyStatus($form, true); - return; - } - } - - // Brute force - check each field - var isDirty = false; - $fields.each(function() { - $field = $(this); - if (isFieldDirty($field)) { - isDirty = true; - return false; // break - } - }); - - setDirtyStatus($form, isDirty); - }; - - var initForm = function($form) { - var fields = $form.find(settings.fieldSelector); - $(fields).each(function() { storeOrigValue($(this)); }); - $(fields).unbind(settings.fieldEvents, checkForm); - $(fields).bind(settings.fieldEvents, checkForm); - $form.data("ays-orig-field-count", $(fields).length); - setDirtyStatus($form, false); - }; - - var setDirtyStatus = function($form, isDirty) { - var changed = isDirty != $form.hasClass(settings.dirtyClass); - $form.toggleClass(settings.dirtyClass, isDirty); - - // Fire change event if required - if (changed) { - if (settings.change) settings.change.call($form, $form); - - if (isDirty) $form.trigger('dirty.areYouSure', [$form]); - if (!isDirty) $form.trigger('clean.areYouSure', [$form]); - $form.trigger('change.areYouSure', [$form]); - } - }; - - var rescan = function() { - var $form = $(this); - var fields = $form.find(settings.fieldSelector); - $(fields).each(function() { - var $field = $(this); - if (!$field.data('ays-orig')) { - storeOrigValue($field); - $field.bind(settings.fieldEvents, checkForm); - } - }); - // Check for changes while we're here - $form.trigger('checkform.areYouSure'); - }; - - var reinitialize = function() { - initForm($(this)); - } - - if (!settings.silent && !window.aysUnloadSet) { - window.aysUnloadSet = true; - $(window).bind('beforeunload', function() { - $dirtyForms = $("form").filter('.' + settings.dirtyClass); - if ($dirtyForms.length == 0) { - return; - } - // Prevent multiple prompts - seen on Chrome and IE - if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) { - if (window.aysHasPrompted) { - return; - } - window.aysHasPrompted = true; - window.setTimeout(function() {window.aysHasPrompted = false;}, 900); - } - return settings.message; - }); - } - - return this.each(function(elem) { - if (!$(this).is('form')) { - return; - } - var $form = $(this); - - $form.submit(function() { - $form.removeClass(settings.dirtyClass); - }); - $form.bind('reset', function() { setDirtyStatus($form, false); }); - // Add a custom events - $form.bind('rescan.areYouSure', rescan); - $form.bind('reinitialize.areYouSure', reinitialize); - $form.bind('checkform.areYouSure', checkForm); - initForm($form); - }); - }; -})(jQuery); +/*! + * jQuery Plugin: Are-You-Sure (Dirty Form Detection) + * https://github.com/codedance/jquery.AreYouSure/ + * + * Copyright (c) 2012-2014, Chris Dance and PaperCut Software http://www.papercut.com/ + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Author: chris.dance@papercut.com + * Version: 1.8.0 + * Date: 22nd June 2014 + */ +(function($) { + + $.fn.areYouSure = function(options) { + + var settings = $.extend( + { + 'message': 'You have unsaved changes!', + 'dirtyClass': 'dirty', + 'change': null, + 'silent': false, + 'addRemoveFieldsMarksDirty': false, + 'fieldEvents': 'change keyup propertychange input', + 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])" + }, options); + + var getValue = function($field) { + if ($field.hasClass('ays-ignore') + || $field.hasClass('aysIgnore') + || $field.attr('data-ays-ignore') + || $field.attr('name') === undefined) { + return null; + } + + if ($field.is(':disabled')) { + return 'ays-disabled'; + } + + var val; + var type = $field.attr('type'); + if ($field.is('select')) { + type = 'select'; + } + + switch (type) { + case 'checkbox': + case 'radio': + val = $field.is(':checked'); + break; + case 'select': + if ($field.val()) { + val = $field.val().toString(); + } else { + val = $field.prop("selectedIndex").toString(); + } + break; + default: + val = $field.val(); + } + + return val; + }; + + var storeOrigValue = function($field) { + $field.data('ays-orig', getValue($field)); + }; + + var checkForm = function(evt) { + + var isFieldDirty = function($field) { + var origValue = $field.data('ays-orig'); + if (undefined === origValue) { + return false; + } + return (getValue($field) != origValue); + }; + + var $form = ($(this).is('form')) + ? $(this) + : $(this).parents('form'); + + // Test on the target first as it's the most likely to be dirty + if (isFieldDirty($(evt.target))) { + setDirtyStatus($form, true); + return; + } + + $fields = $form.find(settings.fieldSelector); + + if (settings.addRemoveFieldsMarksDirty) { + // Check if field count has changed + var origCount = $form.data("ays-orig-field-count"); + if (origCount != $fields.length) { + setDirtyStatus($form, true); + return; + } + } + + // Brute force - check each field + var isDirty = false; + $fields.each(function() { + $field = $(this); + if (isFieldDirty($field)) { + isDirty = true; + return false; // break + } + }); + + setDirtyStatus($form, isDirty); + }; + + var initForm = function($form) { + var fields = $form.find(settings.fieldSelector); + $(fields).each(function() { + storeOrigValue($(this)); + }); + $(fields).unbind(settings.fieldEvents, checkForm); + $(fields).bind(settings.fieldEvents, checkForm); + $form.data("ays-orig-field-count", $(fields).length); + setDirtyStatus($form, false); + }; + + var setDirtyStatus = function($form, isDirty) { + var changed = isDirty != $form.hasClass(settings.dirtyClass); + $form.toggleClass(settings.dirtyClass, isDirty); + + // Fire change event if required + if (changed) { + if (settings.change) + settings.change.call($form, $form); + + if (isDirty) + $form.trigger('dirty.areYouSure', [$form]); + if (!isDirty) + $form.trigger('clean.areYouSure', [$form]); + $form.trigger('change.areYouSure', [$form]); + } + }; + + var rescan = function() { + var $form = $(this); + var fields = $form.find(settings.fieldSelector); + $(fields).each(function() { + var $field = $(this); + if (!$field.data('ays-orig')) { + storeOrigValue($field); + $field.bind(settings.fieldEvents, checkForm); + } + }); + // Check for changes while we're here + $form.trigger('checkform.areYouSure'); + }; + + var reinitialize = function() { + initForm($(this)); + } + + if (!settings.silent && !window.aysUnloadSet) { + window.aysUnloadSet = true; + $(window).bind('beforeunload', function() { + $dirtyForms = $("form").filter('.' + settings.dirtyClass); + if ($dirtyForms.length == 0) { + return; + } + // Prevent multiple prompts - seen on Chrome and IE + if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) { + if (window.aysHasPrompted) { + return; + } + window.aysHasPrompted = true; + window.setTimeout(function() { + window.aysHasPrompted = false; + }, 900); + } + return settings.message; + }); + } + + return this.each(function(elem) { + if (!$(this).is('form')) { + if (typeof console !== 'undefined' && typeof console.warn !== 'undefined') { + console.warn("jquery.AreYouSure can only attach to FORM elements.\nThe jQuery selector used included a " + this.tagName + " element."); + } + return; + } + var $form = $(this); + + $form.submit(function() { + $form.removeClass(settings.dirtyClass); + }); + $form.bind('reset', function() { + setDirtyStatus($form, false); + }); + // Add a custom events + $form.bind('rescan.areYouSure', rescan); + $form.bind('reinitialize.areYouSure', reinitialize); + $form.bind('checkform.areYouSure', checkForm); + initForm($form); + }); + }; +})(jQuery); From 19f2485d64409f9bcbe740a3c4ee61d7b1d00adc Mon Sep 17 00:00:00 2001 From: dafriend Date: Mon, 14 Jul 2014 15:04:38 -0500 Subject: [PATCH 2/7] --- jquery.are-you-sure.js | 366 ++++++++++++++++++++--------------------- 1 file changed, 183 insertions(+), 183 deletions(-) diff --git a/jquery.are-you-sure.js b/jquery.are-you-sure.js index 6ac3601..a35747d 100644 --- a/jquery.are-you-sure.js +++ b/jquery.are-you-sure.js @@ -12,191 +12,191 @@ */ (function($) { - $.fn.areYouSure = function(options) { - - var settings = $.extend( - { - 'message': 'You have unsaved changes!', - 'dirtyClass': 'dirty', - 'change': null, - 'silent': false, - 'addRemoveFieldsMarksDirty': false, - 'fieldEvents': 'change keyup propertychange input', - 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])" - }, options); - - var getValue = function($field) { - if ($field.hasClass('ays-ignore') - || $field.hasClass('aysIgnore') - || $field.attr('data-ays-ignore') - || $field.attr('name') === undefined) { - return null; - } - - if ($field.is(':disabled')) { - return 'ays-disabled'; - } - - var val; - var type = $field.attr('type'); - if ($field.is('select')) { - type = 'select'; - } - - switch (type) { - case 'checkbox': - case 'radio': - val = $field.is(':checked'); - break; - case 'select': - if ($field.val()) { - val = $field.val().toString(); - } else { - val = $field.prop("selectedIndex").toString(); - } - break; - default: - val = $field.val(); - } - - return val; - }; - - var storeOrigValue = function($field) { - $field.data('ays-orig', getValue($field)); - }; - - var checkForm = function(evt) { - - var isFieldDirty = function($field) { - var origValue = $field.data('ays-orig'); - if (undefined === origValue) { - return false; + $.fn.areYouSure = function(options) { + + var settings = $.extend( + { + 'message': 'You have unsaved changes!', + 'dirtyClass': 'dirty', + 'change': null, + 'silent': false, + 'addRemoveFieldsMarksDirty': false, + 'fieldEvents': 'change keyup propertychange input', + 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])" + }, options); + + var getValue = function($field) { + if ($field.hasClass('ays-ignore') + || $field.hasClass('aysIgnore') + || $field.attr('data-ays-ignore') + || $field.attr('name') === undefined) { + return null; + } + + if ($field.is(':disabled')) { + return 'ays-disabled'; + } + + var val; + var type = $field.attr('type'); + if ($field.is('select')) { + type = 'select'; + } + + switch (type) { + case 'checkbox': + case 'radio': + val = $field.is(':checked'); + break; + case 'select': + if ($field.val()) { + val = $field.val().toString(); + } else { + val = $field.prop("selectedIndex").toString(); + } + break; + default: + val = $field.val(); + } + + return val; + }; + + var storeOrigValue = function($field) { + $field.data('ays-orig', getValue($field)); + }; + + var checkForm = function(evt) { + + var isFieldDirty = function($field) { + var origValue = $field.data('ays-orig'); + if (undefined === origValue) { + return false; + } + return (getValue($field) != origValue); + }; + + var $form = ($(this).is('form')) + ? $(this) + : $(this).parents('form'); + + // Test on the target first as it's the most likely to be dirty + if (isFieldDirty($(evt.target))) { + setDirtyStatus($form, true); + return; + } + + $fields = $form.find(settings.fieldSelector); + + if (settings.addRemoveFieldsMarksDirty) { + // Check if field count has changed + var origCount = $form.data("ays-orig-field-count"); + if (origCount != $fields.length) { + setDirtyStatus($form, true); + return; + } + } + + // Brute force - check each field + var isDirty = false; + $fields.each(function() { + $field = $(this); + if (isFieldDirty($field)) { + isDirty = true; + return false; // break + } + }); + + setDirtyStatus($form, isDirty); + }; + + var initForm = function($form) { + var fields = $form.find(settings.fieldSelector); + $(fields).each(function() { + storeOrigValue($(this)); + }); + $(fields).unbind(settings.fieldEvents, checkForm); + $(fields).bind(settings.fieldEvents, checkForm); + $form.data("ays-orig-field-count", $(fields).length); + setDirtyStatus($form, false); + }; + + var setDirtyStatus = function($form, isDirty) { + var changed = isDirty != $form.hasClass(settings.dirtyClass); + $form.toggleClass(settings.dirtyClass, isDirty); + + // Fire change event if required + if (changed) { + if (settings.change) + settings.change.call($form, $form); + + if (isDirty) + $form.trigger('dirty.areYouSure', [$form]); + if (!isDirty) + $form.trigger('clean.areYouSure', [$form]); + $form.trigger('change.areYouSure', [$form]); + } + }; + + var rescan = function() { + var $form = $(this); + var fields = $form.find(settings.fieldSelector); + $(fields).each(function() { + var $field = $(this); + if (!$field.data('ays-orig')) { + storeOrigValue($field); + $field.bind(settings.fieldEvents, checkForm); + } + }); + // Check for changes while we're here + $form.trigger('checkform.areYouSure'); + }; + + var reinitialize = function() { + initForm($(this)); } - return (getValue($field) != origValue); - }; - - var $form = ($(this).is('form')) - ? $(this) - : $(this).parents('form'); - - // Test on the target first as it's the most likely to be dirty - if (isFieldDirty($(evt.target))) { - setDirtyStatus($form, true); - return; - } - - $fields = $form.find(settings.fieldSelector); - - if (settings.addRemoveFieldsMarksDirty) { - // Check if field count has changed - var origCount = $form.data("ays-orig-field-count"); - if (origCount != $fields.length) { - setDirtyStatus($form, true); - return; - } - } - - // Brute force - check each field - var isDirty = false; - $fields.each(function() { - $field = $(this); - if (isFieldDirty($field)) { - isDirty = true; - return false; // break - } - }); - setDirtyStatus($form, isDirty); - }; - - var initForm = function($form) { - var fields = $form.find(settings.fieldSelector); - $(fields).each(function() { - storeOrigValue($(this)); - }); - $(fields).unbind(settings.fieldEvents, checkForm); - $(fields).bind(settings.fieldEvents, checkForm); - $form.data("ays-orig-field-count", $(fields).length); - setDirtyStatus($form, false); - }; - - var setDirtyStatus = function($form, isDirty) { - var changed = isDirty != $form.hasClass(settings.dirtyClass); - $form.toggleClass(settings.dirtyClass, isDirty); - - // Fire change event if required - if (changed) { - if (settings.change) - settings.change.call($form, $form); - - if (isDirty) - $form.trigger('dirty.areYouSure', [$form]); - if (!isDirty) - $form.trigger('clean.areYouSure', [$form]); - $form.trigger('change.areYouSure', [$form]); - } - }; - - var rescan = function() { - var $form = $(this); - var fields = $form.find(settings.fieldSelector); - $(fields).each(function() { - var $field = $(this); - if (!$field.data('ays-orig')) { - storeOrigValue($field); - $field.bind(settings.fieldEvents, checkForm); + if (!settings.silent && !window.aysUnloadSet) { + window.aysUnloadSet = true; + $(window).bind('beforeunload', function() { + $dirtyForms = $("form").filter('.' + settings.dirtyClass); + if ($dirtyForms.length == 0) { + return; + } + // Prevent multiple prompts - seen on Chrome and IE + if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) { + if (window.aysHasPrompted) { + return; + } + window.aysHasPrompted = true; + window.setTimeout(function() { + window.aysHasPrompted = false; + }, 900); + } + return settings.message; + }); } - }); - // Check for changes while we're here - $form.trigger('checkform.areYouSure'); - }; - - var reinitialize = function() { - initForm($(this)); - } - if (!settings.silent && !window.aysUnloadSet) { - window.aysUnloadSet = true; - $(window).bind('beforeunload', function() { - $dirtyForms = $("form").filter('.' + settings.dirtyClass); - if ($dirtyForms.length == 0) { - return; - } - // Prevent multiple prompts - seen on Chrome and IE - if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) { - if (window.aysHasPrompted) { - return; - } - window.aysHasPrompted = true; - window.setTimeout(function() { - window.aysHasPrompted = false; - }, 900); - } - return settings.message; - }); - } - - return this.each(function(elem) { - if (!$(this).is('form')) { - if (typeof console !== 'undefined' && typeof console.warn !== 'undefined') { - console.warn("jquery.AreYouSure can only attach to FORM elements.\nThe jQuery selector used included a " + this.tagName + " element."); - } - return; - } - var $form = $(this); - - $form.submit(function() { - $form.removeClass(settings.dirtyClass); - }); - $form.bind('reset', function() { - setDirtyStatus($form, false); - }); - // Add a custom events - $form.bind('rescan.areYouSure', rescan); - $form.bind('reinitialize.areYouSure', reinitialize); - $form.bind('checkform.areYouSure', checkForm); - initForm($form); - }); - }; + return this.each(function(elem) { + if (!$(this).is('form')) { + if (typeof console !== 'undefined' && typeof console.warn !== 'undefined') { + console.warn("jquery.AreYouSure can only attach to FORM elements.\nThe jQuery selector used included a " + this.tagName + " element."); + } + return; + } + var $form = $(this); + + $form.submit(function() { + $form.removeClass(settings.dirtyClass); + }); + $form.bind('reset', function() { + setDirtyStatus($form, false); + }); + // Add a custom events + $form.bind('rescan.areYouSure', rescan); + $form.bind('reinitialize.areYouSure', reinitialize); + $form.bind('checkform.areYouSure', checkForm); + initForm($form); + }); + }; })(jQuery); From 98896e6a798192923495990dbf5f97c1a5d29f12 Mon Sep 17 00:00:00 2001 From: dafriend Date: Mon, 14 Jul 2014 15:11:36 -0500 Subject: [PATCH 3/7] --- jquery.are-you-sure.js | 352 ++++++++++++++++++++--------------------- 1 file changed, 172 insertions(+), 180 deletions(-) diff --git a/jquery.are-you-sure.js b/jquery.are-you-sure.js index a35747d..7887037 100644 --- a/jquery.are-you-sure.js +++ b/jquery.are-you-sure.js @@ -11,192 +11,184 @@ * Date: 22nd June 2014 */ (function($) { + + $.fn.areYouSure = function(options) { + + var settings = $.extend( + { + 'message' : 'You have unsaved changes!', + 'dirtyClass' : 'dirty', + 'change' : null, + 'silent' : false, + 'addRemoveFieldsMarksDirty' : false, + 'fieldEvents' : 'change keyup propertychange input', + 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])" + }, options); + + var getValue = function($field) { + if ($field.hasClass('ays-ignore') + || $field.hasClass('aysIgnore') + || $field.attr('data-ays-ignore') + || $field.attr('name') === undefined) { + return null; + } + + if ($field.is(':disabled')) { + return 'ays-disabled'; + } + + var val; + var type = $field.attr('type'); + if ($field.is('select')) { + type = 'select'; + } + + switch (type) { + case 'checkbox': + case 'radio': + val = $field.is(':checked'); + break; + case 'select': + if($field.val()) { + val = $field.val().toString(); + } else { + val = $field.prop("selectedIndex").toString(); + } + break; + default: + val = $field.val(); + } + + return val; + }; + + var storeOrigValue = function($field) { + $field.data('ays-orig', getValue($field)); + }; + + var checkForm = function(evt) { + + var isFieldDirty = function($field) { + var origValue = $field.data('ays-orig'); + if (undefined === origValue) { + return false; + } + return (getValue($field) != origValue); + }; - $.fn.areYouSure = function(options) { - - var settings = $.extend( - { - 'message': 'You have unsaved changes!', - 'dirtyClass': 'dirty', - 'change': null, - 'silent': false, - 'addRemoveFieldsMarksDirty': false, - 'fieldEvents': 'change keyup propertychange input', - 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])" - }, options); - - var getValue = function($field) { - if ($field.hasClass('ays-ignore') - || $field.hasClass('aysIgnore') - || $field.attr('data-ays-ignore') - || $field.attr('name') === undefined) { - return null; - } - - if ($field.is(':disabled')) { - return 'ays-disabled'; - } - - var val; - var type = $field.attr('type'); - if ($field.is('select')) { - type = 'select'; - } - - switch (type) { - case 'checkbox': - case 'radio': - val = $field.is(':checked'); - break; - case 'select': - if ($field.val()) { - val = $field.val().toString(); - } else { - val = $field.prop("selectedIndex").toString(); - } - break; - default: - val = $field.val(); - } - - return val; - }; - - var storeOrigValue = function($field) { - $field.data('ays-orig', getValue($field)); - }; - - var checkForm = function(evt) { - - var isFieldDirty = function($field) { - var origValue = $field.data('ays-orig'); - if (undefined === origValue) { - return false; - } - return (getValue($field) != origValue); - }; - - var $form = ($(this).is('form')) + var $form = ($(this).is('form')) ? $(this) : $(this).parents('form'); - // Test on the target first as it's the most likely to be dirty - if (isFieldDirty($(evt.target))) { - setDirtyStatus($form, true); - return; - } - - $fields = $form.find(settings.fieldSelector); - - if (settings.addRemoveFieldsMarksDirty) { - // Check if field count has changed - var origCount = $form.data("ays-orig-field-count"); - if (origCount != $fields.length) { - setDirtyStatus($form, true); - return; - } - } - - // Brute force - check each field - var isDirty = false; - $fields.each(function() { - $field = $(this); - if (isFieldDirty($field)) { - isDirty = true; - return false; // break - } - }); - - setDirtyStatus($form, isDirty); - }; - - var initForm = function($form) { - var fields = $form.find(settings.fieldSelector); - $(fields).each(function() { - storeOrigValue($(this)); - }); - $(fields).unbind(settings.fieldEvents, checkForm); - $(fields).bind(settings.fieldEvents, checkForm); - $form.data("ays-orig-field-count", $(fields).length); - setDirtyStatus($form, false); - }; - - var setDirtyStatus = function($form, isDirty) { - var changed = isDirty != $form.hasClass(settings.dirtyClass); - $form.toggleClass(settings.dirtyClass, isDirty); - - // Fire change event if required - if (changed) { - if (settings.change) - settings.change.call($form, $form); - - if (isDirty) - $form.trigger('dirty.areYouSure', [$form]); - if (!isDirty) - $form.trigger('clean.areYouSure', [$form]); - $form.trigger('change.areYouSure', [$form]); - } - }; - - var rescan = function() { - var $form = $(this); - var fields = $form.find(settings.fieldSelector); - $(fields).each(function() { - var $field = $(this); - if (!$field.data('ays-orig')) { - storeOrigValue($field); - $field.bind(settings.fieldEvents, checkForm); - } - }); - // Check for changes while we're here - $form.trigger('checkform.areYouSure'); - }; - - var reinitialize = function() { - initForm($(this)); - } + // Test on the target first as it's the most likely to be dirty + if (isFieldDirty($(evt.target))) { + setDirtyStatus($form, true); + return; + } + + $fields = $form.find(settings.fieldSelector); - if (!settings.silent && !window.aysUnloadSet) { - window.aysUnloadSet = true; - $(window).bind('beforeunload', function() { - $dirtyForms = $("form").filter('.' + settings.dirtyClass); - if ($dirtyForms.length == 0) { - return; - } - // Prevent multiple prompts - seen on Chrome and IE - if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) { - if (window.aysHasPrompted) { - return; - } - window.aysHasPrompted = true; - window.setTimeout(function() { - window.aysHasPrompted = false; - }, 900); - } - return settings.message; - }); + if (settings.addRemoveFieldsMarksDirty) { + // Check if field count has changed + var origCount = $form.data("ays-orig-field-count"); + if (origCount != $fields.length) { + setDirtyStatus($form, true); + return; } + } + + // Brute force - check each field + var isDirty = false; + $fields.each(function() { + $field = $(this); + if (isFieldDirty($field)) { + isDirty = true; + return false; // break + } + }); + + setDirtyStatus($form, isDirty); + }; - return this.each(function(elem) { - if (!$(this).is('form')) { - if (typeof console !== 'undefined' && typeof console.warn !== 'undefined') { - console.warn("jquery.AreYouSure can only attach to FORM elements.\nThe jQuery selector used included a " + this.tagName + " element."); - } - return; - } - var $form = $(this); - - $form.submit(function() { - $form.removeClass(settings.dirtyClass); - }); - $form.bind('reset', function() { - setDirtyStatus($form, false); - }); - // Add a custom events - $form.bind('rescan.areYouSure', rescan); - $form.bind('reinitialize.areYouSure', reinitialize); - $form.bind('checkform.areYouSure', checkForm); - initForm($form); - }); + var initForm = function($form) { + var fields = $form.find(settings.fieldSelector); + $(fields).each(function() { storeOrigValue($(this)); }); + $(fields).unbind(settings.fieldEvents, checkForm); + $(fields).bind(settings.fieldEvents, checkForm); + $form.data("ays-orig-field-count", $(fields).length); + setDirtyStatus($form, false); }; + + var setDirtyStatus = function($form, isDirty) { + var changed = isDirty != $form.hasClass(settings.dirtyClass); + $form.toggleClass(settings.dirtyClass, isDirty); + + // Fire change event if required + if (changed) { + if (settings.change) settings.change.call($form, $form); + + if (isDirty) $form.trigger('dirty.areYouSure', [$form]); + if (!isDirty) $form.trigger('clean.areYouSure', [$form]); + $form.trigger('change.areYouSure', [$form]); + } + }; + + var rescan = function() { + var $form = $(this); + var fields = $form.find(settings.fieldSelector); + $(fields).each(function() { + var $field = $(this); + if (!$field.data('ays-orig')) { + storeOrigValue($field); + $field.bind(settings.fieldEvents, checkForm); + } + }); + // Check for changes while we're here + $form.trigger('checkform.areYouSure'); + }; + + var reinitialize = function() { + initForm($(this)); + } + + if (!settings.silent && !window.aysUnloadSet) { + window.aysUnloadSet = true; + $(window).bind('beforeunload', function() { + $dirtyForms = $("form").filter('.' + settings.dirtyClass); + if ($dirtyForms.length == 0) { + return; + } + // Prevent multiple prompts - seen on Chrome and IE + if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) { + if (window.aysHasPrompted) { + return; + } + window.aysHasPrompted = true; + window.setTimeout(function() {window.aysHasPrompted = false;}, 900); + } + return settings.message; + }); + } + + return this.each(function(elem) { + if (!$(this).is('form')) { + if (typeof console !== 'undefined' && typeof console.warn !== 'undefined') { + console.warn("jquery.AreYouSure can only attach to FORM elements.\n"+ + "The jQuery selector included a " + this.tagName + " element."); + } + return; + } + var $form = $(this); + + $form.submit(function() { + $form.removeClass(settings.dirtyClass); + }); + $form.bind('reset', function() { setDirtyStatus($form, false); }); + // Add a custom events + $form.bind('rescan.areYouSure', rescan); + $form.bind('reinitialize.areYouSure', reinitialize); + $form.bind('checkform.areYouSure', checkForm); + initForm($form); + }); + }; })(jQuery); From 8f40f2c71595903322de122924940b46229f0710 Mon Sep 17 00:00:00 2001 From: dafriend Date: Mon, 14 Jul 2014 15:13:26 -0500 Subject: [PATCH 4/7] Revert "" This reverts commit 98896e6a798192923495990dbf5f97c1a5d29f12. --- jquery.are-you-sure.js | 352 +++++++++++++++++++++-------------------- 1 file changed, 180 insertions(+), 172 deletions(-) diff --git a/jquery.are-you-sure.js b/jquery.are-you-sure.js index 7887037..a35747d 100644 --- a/jquery.are-you-sure.js +++ b/jquery.are-you-sure.js @@ -11,184 +11,192 @@ * Date: 22nd June 2014 */ (function($) { - - $.fn.areYouSure = function(options) { - - var settings = $.extend( - { - 'message' : 'You have unsaved changes!', - 'dirtyClass' : 'dirty', - 'change' : null, - 'silent' : false, - 'addRemoveFieldsMarksDirty' : false, - 'fieldEvents' : 'change keyup propertychange input', - 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])" - }, options); - - var getValue = function($field) { - if ($field.hasClass('ays-ignore') - || $field.hasClass('aysIgnore') - || $field.attr('data-ays-ignore') - || $field.attr('name') === undefined) { - return null; - } - - if ($field.is(':disabled')) { - return 'ays-disabled'; - } - - var val; - var type = $field.attr('type'); - if ($field.is('select')) { - type = 'select'; - } - - switch (type) { - case 'checkbox': - case 'radio': - val = $field.is(':checked'); - break; - case 'select': - if($field.val()) { - val = $field.val().toString(); - } else { - val = $field.prop("selectedIndex").toString(); - } - break; - default: - val = $field.val(); - } - - return val; - }; - - var storeOrigValue = function($field) { - $field.data('ays-orig', getValue($field)); - }; - - var checkForm = function(evt) { - - var isFieldDirty = function($field) { - var origValue = $field.data('ays-orig'); - if (undefined === origValue) { - return false; - } - return (getValue($field) != origValue); - }; - var $form = ($(this).is('form')) + $.fn.areYouSure = function(options) { + + var settings = $.extend( + { + 'message': 'You have unsaved changes!', + 'dirtyClass': 'dirty', + 'change': null, + 'silent': false, + 'addRemoveFieldsMarksDirty': false, + 'fieldEvents': 'change keyup propertychange input', + 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])" + }, options); + + var getValue = function($field) { + if ($field.hasClass('ays-ignore') + || $field.hasClass('aysIgnore') + || $field.attr('data-ays-ignore') + || $field.attr('name') === undefined) { + return null; + } + + if ($field.is(':disabled')) { + return 'ays-disabled'; + } + + var val; + var type = $field.attr('type'); + if ($field.is('select')) { + type = 'select'; + } + + switch (type) { + case 'checkbox': + case 'radio': + val = $field.is(':checked'); + break; + case 'select': + if ($field.val()) { + val = $field.val().toString(); + } else { + val = $field.prop("selectedIndex").toString(); + } + break; + default: + val = $field.val(); + } + + return val; + }; + + var storeOrigValue = function($field) { + $field.data('ays-orig', getValue($field)); + }; + + var checkForm = function(evt) { + + var isFieldDirty = function($field) { + var origValue = $field.data('ays-orig'); + if (undefined === origValue) { + return false; + } + return (getValue($field) != origValue); + }; + + var $form = ($(this).is('form')) ? $(this) : $(this).parents('form'); - // Test on the target first as it's the most likely to be dirty - if (isFieldDirty($(evt.target))) { - setDirtyStatus($form, true); - return; - } - - $fields = $form.find(settings.fieldSelector); - - if (settings.addRemoveFieldsMarksDirty) { - // Check if field count has changed - var origCount = $form.data("ays-orig-field-count"); - if (origCount != $fields.length) { - setDirtyStatus($form, true); - return; + // Test on the target first as it's the most likely to be dirty + if (isFieldDirty($(evt.target))) { + setDirtyStatus($form, true); + return; + } + + $fields = $form.find(settings.fieldSelector); + + if (settings.addRemoveFieldsMarksDirty) { + // Check if field count has changed + var origCount = $form.data("ays-orig-field-count"); + if (origCount != $fields.length) { + setDirtyStatus($form, true); + return; + } + } + + // Brute force - check each field + var isDirty = false; + $fields.each(function() { + $field = $(this); + if (isFieldDirty($field)) { + isDirty = true; + return false; // break + } + }); + + setDirtyStatus($form, isDirty); + }; + + var initForm = function($form) { + var fields = $form.find(settings.fieldSelector); + $(fields).each(function() { + storeOrigValue($(this)); + }); + $(fields).unbind(settings.fieldEvents, checkForm); + $(fields).bind(settings.fieldEvents, checkForm); + $form.data("ays-orig-field-count", $(fields).length); + setDirtyStatus($form, false); + }; + + var setDirtyStatus = function($form, isDirty) { + var changed = isDirty != $form.hasClass(settings.dirtyClass); + $form.toggleClass(settings.dirtyClass, isDirty); + + // Fire change event if required + if (changed) { + if (settings.change) + settings.change.call($form, $form); + + if (isDirty) + $form.trigger('dirty.areYouSure', [$form]); + if (!isDirty) + $form.trigger('clean.areYouSure', [$form]); + $form.trigger('change.areYouSure', [$form]); + } + }; + + var rescan = function() { + var $form = $(this); + var fields = $form.find(settings.fieldSelector); + $(fields).each(function() { + var $field = $(this); + if (!$field.data('ays-orig')) { + storeOrigValue($field); + $field.bind(settings.fieldEvents, checkForm); + } + }); + // Check for changes while we're here + $form.trigger('checkform.areYouSure'); + }; + + var reinitialize = function() { + initForm($(this)); } - } - - // Brute force - check each field - var isDirty = false; - $fields.each(function() { - $field = $(this); - if (isFieldDirty($field)) { - isDirty = true; - return false; // break - } - }); - - setDirtyStatus($form, isDirty); - }; - var initForm = function($form) { - var fields = $form.find(settings.fieldSelector); - $(fields).each(function() { storeOrigValue($(this)); }); - $(fields).unbind(settings.fieldEvents, checkForm); - $(fields).bind(settings.fieldEvents, checkForm); - $form.data("ays-orig-field-count", $(fields).length); - setDirtyStatus($form, false); - }; - - var setDirtyStatus = function($form, isDirty) { - var changed = isDirty != $form.hasClass(settings.dirtyClass); - $form.toggleClass(settings.dirtyClass, isDirty); - - // Fire change event if required - if (changed) { - if (settings.change) settings.change.call($form, $form); - - if (isDirty) $form.trigger('dirty.areYouSure', [$form]); - if (!isDirty) $form.trigger('clean.areYouSure', [$form]); - $form.trigger('change.areYouSure', [$form]); - } - }; - - var rescan = function() { - var $form = $(this); - var fields = $form.find(settings.fieldSelector); - $(fields).each(function() { - var $field = $(this); - if (!$field.data('ays-orig')) { - storeOrigValue($field); - $field.bind(settings.fieldEvents, checkForm); + if (!settings.silent && !window.aysUnloadSet) { + window.aysUnloadSet = true; + $(window).bind('beforeunload', function() { + $dirtyForms = $("form").filter('.' + settings.dirtyClass); + if ($dirtyForms.length == 0) { + return; + } + // Prevent multiple prompts - seen on Chrome and IE + if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) { + if (window.aysHasPrompted) { + return; + } + window.aysHasPrompted = true; + window.setTimeout(function() { + window.aysHasPrompted = false; + }, 900); + } + return settings.message; + }); } - }); - // Check for changes while we're here - $form.trigger('checkform.areYouSure'); - }; - var reinitialize = function() { - initForm($(this)); - } - - if (!settings.silent && !window.aysUnloadSet) { - window.aysUnloadSet = true; - $(window).bind('beforeunload', function() { - $dirtyForms = $("form").filter('.' + settings.dirtyClass); - if ($dirtyForms.length == 0) { - return; - } - // Prevent multiple prompts - seen on Chrome and IE - if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) { - if (window.aysHasPrompted) { - return; - } - window.aysHasPrompted = true; - window.setTimeout(function() {window.aysHasPrompted = false;}, 900); - } - return settings.message; - }); - } - - return this.each(function(elem) { - if (!$(this).is('form')) { - if (typeof console !== 'undefined' && typeof console.warn !== 'undefined') { - console.warn("jquery.AreYouSure can only attach to FORM elements.\n"+ - "The jQuery selector included a " + this.tagName + " element."); - } - return; - } - var $form = $(this); - - $form.submit(function() { - $form.removeClass(settings.dirtyClass); - }); - $form.bind('reset', function() { setDirtyStatus($form, false); }); - // Add a custom events - $form.bind('rescan.areYouSure', rescan); - $form.bind('reinitialize.areYouSure', reinitialize); - $form.bind('checkform.areYouSure', checkForm); - initForm($form); - }); - }; + return this.each(function(elem) { + if (!$(this).is('form')) { + if (typeof console !== 'undefined' && typeof console.warn !== 'undefined') { + console.warn("jquery.AreYouSure can only attach to FORM elements.\nThe jQuery selector used included a " + this.tagName + " element."); + } + return; + } + var $form = $(this); + + $form.submit(function() { + $form.removeClass(settings.dirtyClass); + }); + $form.bind('reset', function() { + setDirtyStatus($form, false); + }); + // Add a custom events + $form.bind('rescan.areYouSure', rescan); + $form.bind('reinitialize.areYouSure', reinitialize); + $form.bind('checkform.areYouSure', checkForm); + initForm($form); + }); + }; })(jQuery); From 6487bd23a729284f4381fe8b43f5f9f488488072 Mon Sep 17 00:00:00 2001 From: dafriend Date: Mon, 14 Jul 2014 15:22:25 -0500 Subject: [PATCH 5/7] --- jquery.are-you-sure.js | 353 ++++++++++++++++++++--------------------- 1 file changed, 173 insertions(+), 180 deletions(-) diff --git a/jquery.are-you-sure.js b/jquery.are-you-sure.js index a35747d..5f5860f 100644 --- a/jquery.are-you-sure.js +++ b/jquery.are-you-sure.js @@ -11,192 +11,185 @@ * Date: 22nd June 2014 */ (function($) { + + $.fn.areYouSure = function(options) { + + var settings = $.extend( + { + 'message' : 'You have unsaved changes!', + 'dirtyClass' : 'dirty', + 'change' : null, + 'silent' : false, + 'addRemoveFieldsMarksDirty' : false, + 'fieldEvents' : 'change keyup propertychange input', + 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])" + }, options); + + var getValue = function($field) { + if ($field.hasClass('ays-ignore') + || $field.hasClass('aysIgnore') + || $field.attr('data-ays-ignore') + || $field.attr('name') === undefined) { + return null; + } + + if ($field.is(':disabled')) { + return 'ays-disabled'; + } + + var val; + var type = $field.attr('type'); + if ($field.is('select')) { + type = 'select'; + } + + switch (type) { + case 'checkbox': + case 'radio': + val = $field.is(':checked'); + break; + case 'select': + if($field.val()) { + val = $field.val().toString(); + } else { + val = $field.prop("selectedIndex").toString(); + } + break; + default: + val = $field.val(); + } + + return val; + }; + + var storeOrigValue = function($field) { + $field.data('ays-orig', getValue($field)); + }; + + var checkForm = function(evt) { + + var isFieldDirty = function($field) { + var origValue = $field.data('ays-orig'); + if (undefined === origValue) { + return false; + } + return (getValue($field) != origValue); + }; - $.fn.areYouSure = function(options) { - - var settings = $.extend( - { - 'message': 'You have unsaved changes!', - 'dirtyClass': 'dirty', - 'change': null, - 'silent': false, - 'addRemoveFieldsMarksDirty': false, - 'fieldEvents': 'change keyup propertychange input', - 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])" - }, options); - - var getValue = function($field) { - if ($field.hasClass('ays-ignore') - || $field.hasClass('aysIgnore') - || $field.attr('data-ays-ignore') - || $field.attr('name') === undefined) { - return null; - } - - if ($field.is(':disabled')) { - return 'ays-disabled'; - } - - var val; - var type = $field.attr('type'); - if ($field.is('select')) { - type = 'select'; - } - - switch (type) { - case 'checkbox': - case 'radio': - val = $field.is(':checked'); - break; - case 'select': - if ($field.val()) { - val = $field.val().toString(); - } else { - val = $field.prop("selectedIndex").toString(); - } - break; - default: - val = $field.val(); - } - - return val; - }; - - var storeOrigValue = function($field) { - $field.data('ays-orig', getValue($field)); - }; - - var checkForm = function(evt) { - - var isFieldDirty = function($field) { - var origValue = $field.data('ays-orig'); - if (undefined === origValue) { - return false; - } - return (getValue($field) != origValue); - }; - - var $form = ($(this).is('form')) + var $form = ($(this).is('form')) ? $(this) : $(this).parents('form'); - // Test on the target first as it's the most likely to be dirty - if (isFieldDirty($(evt.target))) { - setDirtyStatus($form, true); - return; - } - - $fields = $form.find(settings.fieldSelector); - - if (settings.addRemoveFieldsMarksDirty) { - // Check if field count has changed - var origCount = $form.data("ays-orig-field-count"); - if (origCount != $fields.length) { - setDirtyStatus($form, true); - return; - } - } - - // Brute force - check each field - var isDirty = false; - $fields.each(function() { - $field = $(this); - if (isFieldDirty($field)) { - isDirty = true; - return false; // break - } - }); - - setDirtyStatus($form, isDirty); - }; - - var initForm = function($form) { - var fields = $form.find(settings.fieldSelector); - $(fields).each(function() { - storeOrigValue($(this)); - }); - $(fields).unbind(settings.fieldEvents, checkForm); - $(fields).bind(settings.fieldEvents, checkForm); - $form.data("ays-orig-field-count", $(fields).length); - setDirtyStatus($form, false); - }; - - var setDirtyStatus = function($form, isDirty) { - var changed = isDirty != $form.hasClass(settings.dirtyClass); - $form.toggleClass(settings.dirtyClass, isDirty); - - // Fire change event if required - if (changed) { - if (settings.change) - settings.change.call($form, $form); - - if (isDirty) - $form.trigger('dirty.areYouSure', [$form]); - if (!isDirty) - $form.trigger('clean.areYouSure', [$form]); - $form.trigger('change.areYouSure', [$form]); - } - }; - - var rescan = function() { - var $form = $(this); - var fields = $form.find(settings.fieldSelector); - $(fields).each(function() { - var $field = $(this); - if (!$field.data('ays-orig')) { - storeOrigValue($field); - $field.bind(settings.fieldEvents, checkForm); - } - }); - // Check for changes while we're here - $form.trigger('checkform.areYouSure'); - }; - - var reinitialize = function() { - initForm($(this)); - } + // Test on the target first as it's the most likely to be dirty + if (isFieldDirty($(evt.target))) { + setDirtyStatus($form, true); + return; + } + + $fields = $form.find(settings.fieldSelector); - if (!settings.silent && !window.aysUnloadSet) { - window.aysUnloadSet = true; - $(window).bind('beforeunload', function() { - $dirtyForms = $("form").filter('.' + settings.dirtyClass); - if ($dirtyForms.length == 0) { - return; - } - // Prevent multiple prompts - seen on Chrome and IE - if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) { - if (window.aysHasPrompted) { - return; - } - window.aysHasPrompted = true; - window.setTimeout(function() { - window.aysHasPrompted = false; - }, 900); - } - return settings.message; - }); + if (settings.addRemoveFieldsMarksDirty) { + // Check if field count has changed + var origCount = $form.data("ays-orig-field-count"); + if (origCount != $fields.length) { + setDirtyStatus($form, true); + return; } + } + + // Brute force - check each field + var isDirty = false; + $fields.each(function() { + $field = $(this); + if (isFieldDirty($field)) { + isDirty = true; + return false; // break + } + }); + + setDirtyStatus($form, isDirty); + }; - return this.each(function(elem) { - if (!$(this).is('form')) { - if (typeof console !== 'undefined' && typeof console.warn !== 'undefined') { - console.warn("jquery.AreYouSure can only attach to FORM elements.\nThe jQuery selector used included a " + this.tagName + " element."); - } - return; - } - var $form = $(this); - - $form.submit(function() { - $form.removeClass(settings.dirtyClass); - }); - $form.bind('reset', function() { - setDirtyStatus($form, false); - }); - // Add a custom events - $form.bind('rescan.areYouSure', rescan); - $form.bind('reinitialize.areYouSure', reinitialize); - $form.bind('checkform.areYouSure', checkForm); - initForm($form); - }); + var initForm = function($form) { + var fields = $form.find(settings.fieldSelector); + $(fields).each(function() { storeOrigValue($(this)); }); + $(fields).unbind(settings.fieldEvents, checkForm); + $(fields).bind(settings.fieldEvents, checkForm); + $form.data("ays-orig-field-count", $(fields).length); + setDirtyStatus($form, false); }; + + var setDirtyStatus = function($form, isDirty) { + var changed = isDirty != $form.hasClass(settings.dirtyClass); + $form.toggleClass(settings.dirtyClass, isDirty); + + // Fire change event if required + if (changed) { + if (settings.change) settings.change.call($form, $form); + + if (isDirty) $form.trigger('dirty.areYouSure', [$form]); + if (!isDirty) $form.trigger('clean.areYouSure', [$form]); + $form.trigger('change.areYouSure', [$form]); + } + }; + + var rescan = function() { + var $form = $(this); + var fields = $form.find(settings.fieldSelector); + $(fields).each(function() { + var $field = $(this); + if (!$field.data('ays-orig')) { + storeOrigValue($field); + $field.bind(settings.fieldEvents, checkForm); + } + }); + // Check for changes while we're here + $form.trigger('checkform.areYouSure'); + }; + + var reinitialize = function() { + initForm($(this)); + } + + if (!settings.silent && !window.aysUnloadSet) { + window.aysUnloadSet = true; + $(window).bind('beforeunload', function() { + $dirtyForms = $("form").filter('.' + settings.dirtyClass); + if ($dirtyForms.length == 0) { + return; + } + // Prevent multiple prompts - seen on Chrome and IE + if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) { + if (window.aysHasPrompted) { + return; + } + window.aysHasPrompted = true; + window.setTimeout(function() {window.aysHasPrompted = false;}, 900); + } + return settings.message; + }); + } + + return this.each(function(elem) { + if (!$(this).is('form')) { + if (typeof console !== 'undefined' && + typeof console.warn !== 'undefined') { + console.warn("jquery.AreYouSure can only attach to FORM elements.\n"+ + "The jQuery selector used included a " + this.tagName + " element."); + } + return; + } + var $form = $(this); + + $form.submit(function() { + $form.removeClass(settings.dirtyClass); + }); + $form.bind('reset', function() { setDirtyStatus($form, false); }); + // Add a custom events + $form.bind('rescan.areYouSure', rescan); + $form.bind('reinitialize.areYouSure', reinitialize); + $form.bind('checkform.areYouSure', checkForm); + initForm($form); + }); + }; })(jQuery); From abd57633613916e59e230c93c5e2c6a42f8c1975 Mon Sep 17 00:00:00 2001 From: dafriend Date: Mon, 14 Jul 2014 16:23:56 -0500 Subject: [PATCH 6/7] Update jquery.are-you-sure.js --- jquery.are-you-sure.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/jquery.are-you-sure.js b/jquery.are-you-sure.js index 5f5860f..a890c7e 100644 --- a/jquery.are-you-sure.js +++ b/jquery.are-you-sure.js @@ -172,11 +172,6 @@ return this.each(function(elem) { if (!$(this).is('form')) { - if (typeof console !== 'undefined' && - typeof console.warn !== 'undefined') { - console.warn("jquery.AreYouSure can only attach to FORM elements.\n"+ - "The jQuery selector used included a " + this.tagName + " element."); - } return; } var $form = $(this); From eb76b5b8a0ba3e9cda4f3bfdf0b6fe4024dc064c Mon Sep 17 00:00:00 2001 From: dafriend Date: Tue, 15 Jul 2014 09:01:24 -0500 Subject: [PATCH 7/7] --- jquery.are-you-sure.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jquery.are-you-sure.js b/jquery.are-you-sure.js index a890c7e..1c3111e 100644 --- a/jquery.are-you-sure.js +++ b/jquery.are-you-sure.js @@ -172,6 +172,11 @@ return this.each(function(elem) { if (!$(this).is('form')) { + if (typeof console !== 'undefined' && + typeof console.warn !== 'undefined') { + console.warn("jquery.AreYouSure can only attach to FORM elements.\n"+ + "The jQuery selector used included a " + this.tagName + " element."); + } return; } var $form = $(this);