Html 文本字段的类型属性
我有以下代码:Html 文本字段的类型属性,html,ruby-on-rails,input,types,textfield,Html,Ruby On Rails,Input,Types,Textfield,我有以下代码: <%= f.text_field :email, :type => "email", :placeholder => "john@example.com" %> “电子邮件”,占位符=>“john@example.com" %> 因此,人们可以用电子邮件键盘而不是ASCII键盘在iPhone上输入电子邮件。然而,输出是: <input id="user_email" name="user[email]" placeholder="john@exa
<%= f.text_field :email, :type => "email", :placeholder => "john@example.com" %>
“电子邮件”,占位符=>“john@example.com" %>
因此,人们可以用电子邮件键盘而不是ASCII键盘在iPhone上输入电子邮件。然而,输出是:
<input id="user_email" name="user[email]" placeholder="john@example.com" size="30" type="text" />
应该是:
<input id="user_email" name="user[email]" placeholder="john@example.com" size="30" type="email" />
我还想把它用于tel
类型,这样人们就可以得到电话号码键盘
有没有办法强制Rails使用
电子邮件
类型而不是文本
,或者我必须直接使用HTML?谢谢使用当前帮助程序无法执行此操作()“返回为访问指定属性而定制的“文本”类型的输入标记…”
我会写一个助手来保持你的代码更好。您可以使用HTML和所需的选项编写一些内容,也可以添加一些内容来使用FormBuilder,如下面的代码段
module ActionView
module Helpers
class FormBuilder
def tel_field(method, options = {})
InstanceTag.new(@object_name, method, self, options.delete(:object)).to_input_field_tag("tel", options)
end
end
end
end
实际上,在Rails 3中有用于此目的的表单帮助程序:
“电话”字段和“电子邮件”字段的工作方式与“文本”字段类似,但按预期设置它们的类型属性。这可以正常工作,但当字段无效时,它不会被包装。