12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /**
- * jQuery.placeholder - Placeholder plugin for input fields
- * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
- * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
- * Date: 2008/10/14
- *
- * @author Blair Mitchelmore
- * @version 1.0.1
- *
- **/
- new function($) {
- $.fn.placeholder = function(settings) {
- settings = settings || {};
- var key = settings.dataKey || "placeholderValue";
- var attr = settings.attr || "placeholder";
- var className = settings.className || "placeholder";
- var values = settings.values || [];
- var block = settings.blockSubmit || false;
- var blank = settings.blankSubmit || false;
- var submit = settings.onSubmit || false;
- var value = settings.value || "";
- var position = settings.cursor_position || 0;
-
- return this.filter(":input").each(function(index) {
- $.data(this, key, values[index] || $(this).attr(attr));
- }).each(function() {
- if ($.trim($(this).val()) === "")
- $(this).addClass(className).val($.data(this, key));
- }).focus(function() {
- if ($.trim($(this).val()) === $.data(this, key))
- $(this).removeClass(className).val(value)
- if ($.fn.setCursorPosition) {
- $(this).setCursorPosition(position);
- }
- }).blur(function() {
- if ($.trim($(this).val()) === value)
- $(this).addClass(className).val($.data(this, key));
- }).each(function(index, elem) {
- if (block)
- new function(e) {
- $(e.form).submit(function() {
- return $.trim($(e).val()) != $.data(e, key)
- });
- }(elem);
- else if (blank)
- new function(e) {
- $(e.form).submit(function() {
- if ($.trim($(e).val()) == $.data(e, key))
- $(e).removeClass(className).val("");
- return true;
- });
- }(elem);
- else if (submit)
- new function(e) { $(e.form).submit(submit); }(elem);
- });
- };
- }(jQuery);
|