我的应用中有一个客户联系表单,当然需要输入电话。我正在运行Rails 3.2.13并使用Zurb Foundation。我希望找到一个宝石,提供一个输入掩码,形式为'(999)999-9999',我可以打电话。我的数据非常本地化,因此美国格式化的数字就是我所需要的。
我能够在该字段上执行验证,但希望将用户保持在输入掩码的更严格边界内。这就是我现在所拥有的。
<div class="large-4 columns"><%= f.telephone_field :phone, :placeholder => "Phone - (123) 456-7890" %></div>
对此有什么好的宝石,或者你喜欢的jQuery插件?
干杯!
- 编辑 所以这里是我需要完成的完整答案。以防万一有人正在寻找快速解决方案。这是我的_form.html.erb视图文件中的代码:
<div class="large-2 columns">
<%= f.text_field :phone, :id => "phone", :placeholder => "Primary Phone"%>
</div>
以下是我的assets / javascripts文件夹中我的咖啡文件中的代码:
$ ->
$("#phone").mask("(999) 999-9999")
您需要从下面的@vinodadhikary链接中下载相应的jquery.maskedinput.js文件。然后你必须在application.js文件的依赖列表中的jquery文件下面的某个地方要求文件,如下所示:
//= require jquery
//= require jquery_ujs
//= require foundation
//= require jquery.maskedinput
//= require_tree .
就是这样。如果您发现任何不妥之处,请告诉我,我会进行编辑。
答案 0 :(得分:1)
我一直在使用插件http://digitalbush.com/projects/masked-input-plugin,效果非常好。
我有很多带有不同掩码的字段,所以我在我的应用程序coffescript中使用了这个方法。
$( "[data-mask]").each (index, value) ->
element = $(value)
element.mask($(value).data('mask'))
现在我可以在我的任何字段::
上设置data-mask
属性
<%= f.text_field(:phone, data: { mask: '(999) 999-9999' }) %>
我希望这有助于某人!