HTML5 permette di utilizzare l’attributo placeholder per visualizzare un testo, all’interno dei campi di input, che scompare al focus del mouse. Solitamente viene utilizzato in alternativa alle <label> nei form. Internet Explorer 7 e 8 (okay okay il 7 facciamo finta che io non l’abbia nominato!) non supportano tuttavia questa funzionalità. Esiste un metodo rapido ed efficace in jQuery per simulare questo comportamento senza ricorrere a plugin esterni. Consiglio, seppur lo script non sia pesante, di utilizzare modernizr o fare un controllo sulla versione del browser, affinchè venga caricato solo se necessario. Vediamo come fare.

jQuery per simulare il placeholder

$('input[placeholder]').each(function(){  
        var input = $(this);        
        $(input).val(input.attr('placeholder'));
        $(input).focus(function(){
             if (input.val() == input.attr('placeholder')) {
                 input.val('');
             }
        });
        $(input).blur(function(){
            if (input.val() == '' || input.val() == input.attr('placeholder')) {
                input.val(input.attr('placeholder'));
            }
        });
    });

Il codice di per sè è molto semplice ed auto-esplicativo.

In breve non facciamo altro che andare a targetizzare tutti gli elementi input per i quali si è dichiarato l’attributo placeholder nel DOM. A quel punto non facciamo altro che riempire il value con il testo recuperato e svuotarlo ogni qual volta si attiva il focus del mouse. Stupendo, no?!

Fonte codice: http://dipaksblogonline.blogspot.it/2012/02/html5-placeholder-in-ie7-and-ie8-fixed.html