-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.clearinput-0.1.min.js
9 lines (9 loc) · 2.39 KB
/
jquery.clearinput-0.1.min.js
1
2
3
4
5
6
7
8
9
/*
* jQuery ClearInput Plugin
*
* Clears default values from input fields on submit.
*
* Version: 0.1, 24 February, 2012
* Author: Thijs Damen <http://thijsdamen.nl, http://twitter.com/#!/thijsdamen>
*/
(function(a){a.clearInput=function(b,c){var d={clearTextFields:true,clearPasswordFields:true,clearTextAreas:true,clearAll:true,clearClassName:"clear-input",replaceValues:true,replaceValueDataName:"replace-with",valueStorageDataName:"default-value",clearOnSubmit:true,readablePasswordHint:true};var e=this;e.settings={};var f=a(b),b=b;var g=[];e.init=function(){e.settings=a.extend({},d,c);if(!f.is("form")){return}a("input, textarea",f).each(function(b,c){$formElement=a(c);h($formElement)});f.submit(function(){a("input, textarea",f).each(function(b,c){$formElement=a(c);j($formElement);for(i=0;i<g.count;i++){g[i].remove()}});return true})};var h=function(b){if(e.settings.clearAll||b.hasClass(e.settings.clearClassName)){if(b.attr("type")=="text"&&e.settings.clearTextFields||b.attr("type")=="password"&&e.settings.clearPasswordFields||b.is("textarea")&&e.settings.clearTextAreas){b.data(e.settings.valueStorageDataName,b.val());b.focus(function(){$focusedElement=a(this);if($focusedElement.val()==$focusedElement.data(e.settings.valueStorageDataName)){$focusedElement.val("")}});b.blur(function(){$blurredElement=a(this);if($blurredElement.val().length==0){$blurredElement.val($blurredElement.data(e.settings.valueStorageDataName))}})}if(b.attr("type")=="password"&&e.settings.clearPasswordFields&&e.settings.readablePasswordHint){$clone=b.clone();b.val("");$clone.attr("type","text");h($clone);$clone.focus(function(){a(this).next().show(0).focus();a(this).hide()});b.blur(function(){$blurredElement=a(this);if($blurredElement.val().length==0){$blurredElement.hide();$blurredElement.prev().show(0)}});g.push($clone);$clone.insertBefore(b);b.hide(0)}}};var j=function(a){if(a.attr("type")=="text"&&e.settings.clearTextFields||a.attr("type")=="password"&&e.settings.clearPasswordFields||a.is("textarea")&&e.settings.clearTextAreas){if(a.val()==a.data(e.settings.valueStorageDataName)){if(e.settings.replaceValues&&a.data(e.settings.replaceValueDataName)){a.val(a.data(e.settings.replaceValueDataName))}else if(e.settings.clearOnSubmit){a.val("")}}}};e.init()};a.fn.clearInput=function(b){return this.each(function(){if(undefined==a(this).data("clearInput")){var c=new a.clearInput(this,b);a(this).data("clearInput",c)}})}})(jQuery)