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?
ruby-on-rails
NullVoxPopuli
źródło
źródło
Odpowiedzi:
W przypadku rails> = 3.0 możesz po prostu użyć tej
placeholder
opcji.źródło
f.text_field :attr, :placeholder => "placeholder text"
W Rails 4 (przy użyciu HAML):
źródło
Dla osób używających Rails (4.2) Internationalization (I18n):
Ustaw atrybut zastępczy na true:
oraz w swoim lokalnym pliku (np. en.yml):
źródło
placeholder: true
. Po ustawieniu tak jak opisałeś to zadziałało.Oto znacznie czystsza składnia, jeśli używasz
rails 4+
Więc
rails 4+
może teraz użyć tej składni zamiast składni skrótuźródło
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:
źródło
W szablonie widoku ustaw wartość domyślną:
W Twoim Javascript (zakładając tutaj jquery):
źródło
onfocus="if(this.value=='Search The Huffington Post')this.value=''" value="Search The Huffington Post"
Wydaje się, że to dobre podejście.