5

我的应用程序中有一个客户联系表,当然需要电话输入。我正在运行 Rails 3.2.13 并使用 Zurb Foundation。我希望找到一个可以提供我可以调用的“(999)999-9999”形式的输入掩码的gem。我的数据确实是本地的,所以我只需要美国格式的数字。

我能够在现场执行验证,但希望将用户保持在输入掩码的更严格边界内。这就是我目前所拥有的。

  <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 .

就是这样。如果您发现任何问题,请告诉我,我会进行编辑。

4

1 回答 1

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' }) %>

我希望这可以帮助别人!

于 2015-08-22T21:58:42.560 回答