Jak mogę dodać placeholder
tekst do moich f.text_field
pól, aby tekst był domyślnie napisany z góry, a gdy użytkownik kliknie wewnątrz pól, tekst znika - umożliwiając użytkownikowi wpisanie nowego tekstu?
Jak mogę dodać placeholder
tekst do moich f.text_field
pól, aby tekst był domyślnie napisany z góry, a gdy użytkownik kliknie wewnątrz pól, tekst znika - umożliwiając użytkownikowi wpisanie nowego tekstu?
Odpowiedzi:
W przypadku rails> = 3.0 możesz po prostu użyć tej placeholder
opcji.
f.text_field :attr, placeholder: "placeholder text"
f.text_field :attr, :placeholder => "placeholder text"
Dla osób używających Rails (4.2) Internationalization (I18n):
Ustaw atrybut zastępczy na true:
f.text_field :attr, placeholder: true
oraz w swoim lokalnym pliku (np. en.yml):
en:
helpers:
placeholder:
model_name:
attr: "some placeholder text"
placeholder: true
. Po ustawieniu tak jak opisałeś to zadziałało.
Oto znacznie czystsza składnia, jeśli używasz rails 4+
<%= f.text_field :attr, placeholder: "placeholder text" %>
Więc rails 4+
może teraz użyć tej składni zamiast składni skrótu
Wypróbowałem powyższe rozwiązania i wygląda jak na szynach 5. * drugi agument domyślnie to wartość z formularza wejściowego, co u mnie zadziałało to:
text_field_tag :attr, "", placeholder: "placeholder text"
W szablonie widoku ustaw wartość domyślną:
f.text_field :password, :value => "password"
W Twoim Javascript (zakładając tutaj jquery):
$(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"
Wydaje się, że to dobre podejście.