Como posso adicionar placeholder
texto aos meus f.text_field
campos para que o texto seja pré-escrito por padrão e, quando um usuário clica dentro dos campos, o texto desaparece - permitindo que o usuário digite o novo texto?
Como posso adicionar placeholder
texto aos meus f.text_field
campos para que o texto seja pré-escrito por padrão e, quando um usuário clica dentro dos campos, o texto desaparece - permitindo que o usuário digite o novo texto?
Respostas:
Com trilhos> = 3.0, você pode simplesmente usar a placeholder
opção
f.text_field :attr, placeholder: "placeholder text"
f.text_field :attr, :placeholder => "placeholder text"
Para quem usa Internacionalização do Rails (4.2) (I18n):
Defina o atributo placeholder como true:
f.text_field :attr, placeholder: true
e no seu arquivo local (ou seja, en.yml):
en:
helpers:
placeholder:
model_name:
attr: "some placeholder text"
placeholder: true
. Depois de definir como você descreveu, funcionou.
Aqui está uma sintaxe muito mais limpa se você estiver usando rails 4+
<%= f.text_field :attr, placeholder: "placeholder text" %>
Então, rails 4+
agora pode usar essa sintaxe em vez da sintaxe de hash
Eu tentei as soluções acima e parece nos trilhos 5. * o segundo instrumento por padrão é o valor do formulário de entrada, o que funcionou para mim foi:
text_field_tag :attr, "", placeholder: "placeholder text"
No seu modelo de visualização, defina um valor padrão:
f.text_field :password, :value => "password"
No seu Javascript (assumindo jquery aqui):
$(document).ready(function() {
//add a handler to remove the text
});
onfocus="if(this.value=='Search The Huffington Post')this.value=''" value="Search The Huffington Post"
Parece uma boa abordagem.