Eu uso este, é apenas Javascript.
Eu simplesmente tenho um elemento de entrada com um valor e, quando o usuário clica no elemento de entrada, ele é alterado para um elemento de entrada sem valor.
Você pode alterar facilmente a cor do texto usando CSS. A cor do espaço reservado é a cor no id #IEinput, e a cor do texto digitado será a cor no id #email. Não use getElementsByClassName, porque as versões do IE que não oferecem suporte a um espaço reservado, também não suportam getElementsByClassName!
Você pode usar um espaço reservado em uma entrada de senha, definindo o tipo da entrada de senha original como texto.
Tinker: http://tinker.io/4f7c5/1
- Os servidores JSfiddle estão inoperantes!
* desculpe pelo meu inglês ruim
JAVASCRIPT
function removeValue() {
document.getElementById('mailcontainer')
.innerHTML = "<input id=\"email\" type=\"text\" name=\"mail\">";
document.getElementById('email').focus(); }
HTML
<span id="mailcontainer">
<input id="IEinput" onfocus="removeValue()" type="text" name="mail" value="mail">
</span>
<input>
); um atributo é um par de valores-chave dentro dos colchetes pontudos (comoplaceholder="This is an attribute value"
). Deixando a questão como está, para que futuras pessoas que fazem a mesma pergunta possam encontrá-la.