Html RubyonRails表单:如何将文本放入一个单击即消失的输入字段中

Html RubyonRails表单:如何将文本放入一个单击即消失的输入字段中,html,ruby-on-rails,ruby-on-rails-3,forms,Html,Ruby On Rails,Ruby On Rails 3,Forms,我想创建一个没有标签的表单,而是将方向放在实际的输入文本字段中。我还希望在单击文本字段时方向消失 这里有一个例子 我知道,在html中,您可以这样做 <input type="text" name="s" id="s" value="Text to be displayed here" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.de

我想创建一个没有标签的表单,而是将方向放在实际的输入文本字段中。我还希望在单击文本字段时方向消失

这里有一个例子

我知道,在html中,您可以这样做

<input type="text" name="s" id="s" value="Text to be displayed here" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"/>

但是如何使用rails表单帮助程序来实现这一点呢

这是我到目前为止所拥有的

  <div class="row">
    <div class="small-12 columns">
      <div class="panel">
        <%= form_for(@message) do |f| %>
            <%= f.label :body, "Description" %>
            <%= f.text_area :body %>
            <%= f.submit 'Create message', class: 'button small secondary' %>
        <% end %>
      </div>
    </div>
  </div>

我想尝试一下占位符属性,它只适用于较新的浏览器,但有一些jQuery库会自动检测不支持它的占位符,并执行与您的javscript代码段大致相同的操作。以下是使用占位符字段的示例:

<%= f.text_field :field_name, :placeholder => "Disappearing Text" %>
“正在消失的文本”%>
编辑:这里有一个可靠的jQuery回退插件:


在html中,输入中的前置文本称为
占位符
属性

您可以将该属性添加到循环字段的
表单中,如下所示:

<%= f.text_field :some_data, :placeholder => "value" %>
“值”%>
但是,在执行占位符属性时,请注意,某些浏览器的旧版本并不完全支持占位符属性。因此,通常需要一些JS来polyfil此功能…如果您不在输入字段旁边使用传统标签,您应该注意支持此功能