How can we put label inside the textbox using jquery ?Is there any plugin available for that
When iam using the following with Jquery 1.9 the jquery validation is stop working ?
Code:
/**
* jQuery.labelify - Display in-textbox hints
* Stuart Langridge, http://www.kryogenix.org/
* Released into the public domain
* Date: 25th June 2008
* @author Stuart Langridge
* @version 1.3
*
*
* Basic calling syntax: $("input").labelify();
* Defaults to taking the in-field label from the field's title attribute
*
* You can also pass an options object with the following keys:
* text
* "title" to get the in-field label from the field's title attribute
* (this is the default)
* "label" to get the in-field label from the inner text of the field's label
* (note that the label must be attached to the field with for="fieldid")
* a function which takes one parameter, the input field, and returns
* whatever text it likes
*
* labelledClass
* a class that will be applied to the input field when it contains the
* label and removed when it contains user input. Defaults to blank.
*
*/
jQuery.fn.labelify = function(settings) {
settings = jQuery.extend({
text: "title",
labelledClass: ""
}, settings);
var lookups = {
title: function(input) {
return $(input).attr("title");
},
label: function(input) {
return $("label[for=" + input.id +"]").text();
}
};
var lookup;
var jQuery_labellified_elements = $(this);
return $(this).each(function() {
if (typeof settings.text === "string") {
lookup = lookups[settings.text]; // what if not there?
} else {
lookup = settings.text; // what if not a fn?
};
// bail if lookup isn't a function or if it returns undefined
if (typeof lookup !== "function") { return; }
var lookupval = lookup(this);
if (!lookupval) { return; }
// need to strip newlines because the browser strips them
// if you set textbox.value to a string containing them
$(this).data("label",lookup(this).replace(/\n/g,''));
$(this).focus(function() {
if (this.value === $(this).data("label")) {
this.value = this.defaultValue;
$(this).removeClass(settings.labelledClass);
}
}).blur(function(){
if (this.value === this.defaultValue) {
this.value = $(this).data("label");
$(this).addClass(settings.labelledClass);
}
});
var removeValuesOnExit = function() {
jQuery_labellified_elements.each(function(){
if (this.value === $(this).data("label")) {
this.value = this.defaultValue;
$(this).removeClass(settings.labelledClass);
}
})
};
$(this).parents("form").submit(removeValuesOnExit);
$(window).unload(removeValuesOnExit);
if (this.value !== this.defaultValue) {
// user already started typing; don't overwrite their work!
return;
}
// actually set the value
this.value = $(this).data("label");
$(this).addClass(settings.labelledClass);
});
};
Bookmarks