如何将 placeholder文本添加到我的 f.text_field字段中,以便默认情况下文本是预先编写的,并且当用户在字段中单击时,文本将消失-允许用户输入新文本?
placeholder
f.text_field
在视图模板中,设置默认值:
f.text_field :password, :value => "password"
在 Javascript 中(假设这里是 jquery) :
$(document).ready(function() { //add a handler to remove the text });
当 Rails> = 3.0时,您可以简单地使用 placeholder选项。
f.text_field :attr, placeholder: "placeholder text"
在 Rails 4中(使用 HAML) :
=f.text_field :first_name, class: 'form-control', autofocus: true, placeholder: 'First Name'
如果使用 rails 4+,这里有一个更简洁的语法
rails 4+
<%= f.text_field :attr, placeholder: "placeholder text" %>
因此 rails 4+现在可以使用这种语法而不是哈希语法
对于那些使用 Rails (4.2)国际化(I18n)的用户:
将占位符属性设置为 true:
f.text_field :attr, placeholder: true
并且在您的本地文件(即 en.yml)中:
en: helpers: placeholder: model_name: attr: "some placeholder text"
我尝试了上面的解决方案,它看起来像在轨道5。* 默认情况下,第二个参数是输入表单的值,对我有效的是:
text_field_tag :attr, "", placeholder: "placeholder text"
这条路对我有用。
<%= form_for @product do |f| %> <%= f.label :name %> <%= f.text_field :name, placeholder: "Drill hammer" %> <% end %>
如您所见,要实现一个占位符,您只需在 text _ field 名称后面添加“占位符: “ text here”。
希望大家能够理解我的回答!