javascript - JQuery 屏蔽输入在 Rails 6 中不起作用
问题描述
我正在尝试在 Rails 6 上的表单中使用 JQuery Masked Input。但在我看来,资产中的application.js不起作用,我不确定。我使用以下命令通过 yarn 安装了插件:yarn add jquery-mask-plugin
. 它作为依赖项包含在package.json中。
要进行设置,我去了app/assets/javascripts/application.js。这是文件:
//= require jquery
//= require jquery_ujs
//= require jquery-mask-plugin
//= require_tree .
$.jMaskGlobals.watchDataMask = true;
在app/javascript/packs/application.js我尝试导入 JQuery 和插件:
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
import 'inputmask';
现在以我的形式,这就是我尝试使用插件的方式:
<%= form.text_field :cpf, class:'form-control', 'data-mask': '999.999.999-99' %>
正如我之前所说,我不确定,但我认为问题在于资产中的application.js文件,因为我编写了一个console.log("test")
命令只是为了查看它是否正在执行,而当服务器运行时,Web 控制台上什么也没有出现。
有人可以帮助我吗?
解决方案
- 纱线添加“jquery-mask-plugin”
- 在 app/javascript/packs/application.js
添加要求
require("jquery-mask-plugin")
- 在 app/javascript/packs/application.js
在底部添加行
$.jMaskGlobals.watchDataMask = true;
在 .html.erb 中
= d.text_field:电话号码,自动完成:“电话号码”,类:“表单控件”,占位符:“03xx-xxxxxxx”,“数据掩码”:“0000-0000000”
或 在 html.erb
<%= d.text_field :phone_number, autocomplete: "phone Number", class: "form-control", placeholder: "03xx-xxxxxxx" , 'data-mask': '0000-0000000' %>
推荐阅读
- git - Visual Studio 2019 不提供忽略来自 Git 源代码控制的文件的选项
- python - DataError:在循环中创建绘图时没有要聚合的数字类型
- angular - 使用来自 href 的参数在角度 9 中路由
- r - 获取与另一列的每个级别匹配的列中的级别数
- django - 结合 __startswith 和 __in 不起作用
- sql - 向“日期”列添加值的错误导致溢出
- javascript - 向 mongoDB 中的多个文档添加属性
- antlr4 - 用 antlr4 处理平面文件
- python - Python 正则表达式无法按预期在我的脚本中工作
- c++ - 错误:无法获取“void”类型的右值的地址