/* * Auto-Fill Plugin * Written by Joe Sak * GitHub: http://github.com/joemsak/jQuery-AutoFill * Website: http://www.joesak.com/ * Article: http://www.joesak.com/2008/11/19/a-jquery-function-to-auto-fill-input-fields-and-clear-them-on-click/ */ (function($){ $.fn.autofill=function(options){ var defaults={ value:'First Name', prePopulate:'', defaultTextColor:"#666", activeTextColor:"#333"}; var options=$.extend(defaults,options); return this.each(function(){ var obj=$(this); var pfield = (obj.attr('type')=='password'); var p_obj = false; if(pfield){ obj.hide(); obj.after(''); p_obj = obj; obj = obj.next(); } if(document.activeElement != obj[0]) { obj.css({color:options.defaultTextColor}) .val(options.value); } obj.each(function() { $(this.form).submit(function() { if (obj.val() == options.value) { obj.val(options.prePopulate); } }); }); obj.focus(function(){ if(obj.val()==options.value){ if(pfield) { obj.hide(); p_obj.show() .focus() } obj.val(options.prePopulate) .css({color:options.activeTextColor}); } }) .blur(function(){ if(obj.val()==options.prePopulate || obj.val() == ''){ obj.css({color:options.defaultTextColor}) .val(options.value); } }); if(p_obj && p_obj.length > 0){ p_obj.blur(function(){ if(p_obj.val()==""){ p_obj.hide(); obj.show() .css({color:options.defaultTextColor}) .val(options.value); } }); } }); }; })(jQuery);