Как я могу добавить placeholderтекст в мои f.text_fieldполя, чтобы текст по умолчанию был написан заранее, и когда пользователь щелкает внутри полей, текст исчезает, позволяя пользователю вводить новый текст?
Как я могу добавить placeholderтекст в мои f.text_fieldполя, чтобы текст по умолчанию был написан заранее, и когда пользователь щелкает внутри полей, текст исчезает, позволяя пользователю вводить новый текст?
Ответы:
С рельсами> = 3.0 вы можете просто использовать эту placeholderопцию.
f.text_field :attr, placeholder: "placeholder text"
f.text_field :attr, :placeholder => "placeholder text"
Для тех, кто использует Rails (4.2) Интернационализация (I18n):
Установите для атрибута заполнителя значение true:
f.text_field :attr, placeholder: true
и в вашем локальном файле (то есть. en.yml):
en:
helpers:
placeholder:
model_name:
attr: "some placeholder text"
placeholder: true. После настройки, как вы описали, это сработало.
Вот намного более чистый синтаксис при использовании rails 4+
<%= f.text_field :attr, placeholder: "placeholder text" %>
Так что rails 4+теперь можно использовать этот синтаксис вместо синтаксиса хеша
Я попробовал решения выше, и это похоже на рельсы 5. * Вторым фактором по умолчанию является значение формы ввода, что мне помогло:
text_field_tag :attr, "", placeholder: "placeholder text"
В вашем шаблоне представления установите значение по умолчанию:
f.text_field :password, :value => "password"
В вашем Javascript (при условии 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"похоже, хороший подход.