Wie kann ich placeholder
meinen f.text_field
Feldern Text hinzufügen , sodass der Text standardmäßig vorab geschrieben wird. Wenn ein Benutzer in die Felder klickt, wird der Text ausgeblendet, sodass der Benutzer den neuen Text eingeben kann.
Wie kann ich placeholder
meinen f.text_field
Feldern Text hinzufügen , sodass der Text standardmäßig vorab geschrieben wird. Wenn ein Benutzer in die Felder klickt, wird der Text ausgeblendet, sodass der Benutzer den neuen Text eingeben kann.
Antworten:
Mit Schienen> = 3.0 können Sie einfach die placeholder
Option verwenden.
f.text_field :attr, placeholder: "placeholder text"
f.text_field :attr, :placeholder => "placeholder text"
Für Benutzer von Rails (4.2) Internationalisierung (I18n):
Setzen Sie das Platzhalterattribut auf true:
f.text_field :attr, placeholder: true
und in Ihrer lokalen Datei (dh en.yml):
en:
helpers:
placeholder:
model_name:
attr: "some placeholder text"
placeholder: true
. Nachdem Sie das so eingestellt haben, wie Sie es beschrieben haben, hat es funktioniert.
Hier ist eine viel sauberere Syntax, wenn Sie verwenden rails 4+
<%= f.text_field :attr, placeholder: "placeholder text" %>
So rails 4+
kann nun diese Syntax verwendet anstelle der Hash - Syntax
Ich habe die obigen Lösungen ausprobiert und es sieht aus wie auf Schienen 5. * Das zweite Argument ist standardmäßig der Wert des Eingabeformulars. Was für mich funktioniert hat, war:
text_field_tag :attr, "", placeholder: "placeholder text"
Legen Sie in Ihrer Ansichtsvorlage einen Standardwert fest:
f.text_field :password, :value => "password"
In Ihrem Javascript (unter der Annahme, dass hier abgefragt wird):
$(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"
Scheint ein guter Ansatz zu sein.