Ruby on Rails: How do I add placeholder text to a

2020-05-11 20:52发布

How can I add placeholder text to my f.text_field fields so that the text comes pre-written by default, and when a user click inside the fields, the text goes away - allowing the user to type in the new text?

6条回答
你好瞎i
2楼-- · 2020-05-11 21:30

In your view template, set a default value:

f.text_field :password, :value => "password"

In your Javascript (assuming jquery here):

$(document).ready(function() {
  //add a handler to remove the text
});
查看更多
聊天终结者
3楼-- · 2020-05-11 21:32

For those using Rails(4.2) Internationalization (I18n):

Set the placeholder attribute to true:

f.text_field :attr, placeholder: true

and in your local file (ie. en.yml):

en:
  helpers:
    placeholder:
      model_name:
        attr: "some placeholder text"
查看更多
祖国的老花朵
4楼-- · 2020-05-11 21:35

Here is a much cleaner syntax if using rails 4+

<%= f.text_field :attr, placeholder: "placeholder text" %>

So rails 4+ can now use this syntax instead of the hash syntax

查看更多
干净又极端
5楼-- · 2020-05-11 21:41

In Rails 4(Using HAML):

=f.text_field :first_name, class: 'form-control', autofocus: true, placeholder: 'First Name'
查看更多
做个烂人
6楼-- · 2020-05-11 21:49

With rails >= 3.0, you can simply use the placeholder option.

f.text_field :attr, placeholder: "placeholder text"
查看更多
家丑人穷心不美
7楼-- · 2020-05-11 21:53

I tried the solutions above and it looks like on rails 5.* the second agument by default is the value of the input form, what worked for me was:

text_field_tag :attr, "", placeholder: "placeholder text"
查看更多
登录 后发表回答