简单形式:是否可以删除标签并使用标签i18n替换它们?

时间:2012-09-24 04:46:11

标签: ruby-on-rails simple-form

我正在尝试制作一个常规的简单形式

= simple_form_for [:hq, @team, @order] do |f|
  .tickets
    = f.select :tickets, :aaa => "aaa"
    = render "ticket"


  .details
    .left
      = f.input :address1
      = f.input :address2
      = f.input :state
      = f.input :country
      = f.input :email
    .right
      = f.input :comments

但我希望输入不会使用标签呈现,只是占位符中的标题为“地址行1”。

我知道我可以使用f.input :address1, :placeholder => "whatever", :label => ""执行此操作,但我希望它可以使用包装器进行配置,并使用i18n值表单标签,而不是占位符。

2 个答案:

答案 0 :(得分:21)

尝试执行以下操作:

f.input :address1, placeholder: "Address Line 1", label: false

答案 1 :(得分:-2)

如果你想使用javascript,这里有一个jQuery片段来完成这项工作:

$.each($(".left .input"), function() {
  var label = $("label",$(this)).text();
  $("label",$(this)).hide();
  $("input",$(this)).attr("placeholder",label);
});

在这种情况下使用js的主要优点是结果仍然符合屏幕阅读器(他们会读取标签,因为它们不会运行js)。