Add placeholders from field label tag if missing

Drupal.behaviors.customizePlaceholders = {
  attach: function(context, settings) {
    var textInput = $('input, textarea');
    // Add placeholders if they are missing
    textInput.each(function() {
      var $this = $(this),
              str = '';
      if ($this.attr('placeholder') == '' || $this.attr('placeholder') != 'undefined') {
        // Search label for the element
        str = $.trim($("label[for='" + $this.attr('id') + "']").text())
        $this.attr('placeholder', str.replace("*", ""));
      }
    });
    $("[placeholder]").textPlaceholder();
  }
}

jQuery.fn.textPlaceholder = function() {

  return this.each(function() {

    var that = this;

    if (that.placeholder && 'placeholder' in document.createElement(that.tagName))
      return;

    var placeholder = that.getAttribute('placeholder');
    var input = jQuery(that);

    if (that.value === '' || that.value == placeholder) {
      input.addClass('text-placeholder');
      that.value = placeholder;
    }

    input.focus(function() {
      if (input.hasClass('text-placeholder')) {
        this.value = '';
        input.removeClass('text-placeholder')
      }
    });

    input.blur(function() {
      if (this.value === '') {
        input.addClass('text-placeholder');
        this.value = placeholder;
      } else {
        input.removeClass('text-placeholder');
      }
    });

    that.form && jQuery(that.form).submit(function() {
      if (input.hasClass('text-placeholder')) {
        that.value = '';
      }
    });

  });

};

 

********************************** ************************* ************************ **************** ****************** *********** ************** ************* ************ *************