我正在尝试在 Drupal 7 中构建表单,其中一个字段需要有输入掩码。我发现插件 masked input似乎就像我要搜索的那样。只有没有关于如何实现它的文档(我读过有关货币和这个插件的文章,但这里只是关于它的工作原理)。
我是Drupal的新手,但在论坛上搜索我想出了以下代码:
function report_expenses_form($form, &$form_submit) {
libraries_get_path('maskedinput') . '/misc/ui/jquery.maskedinput-1.3.js';
...
$form['cash_advance']['amount'] = array(
'#title' => t('Cash Advance : '),
'#type' => 'textfield',
'#default_value' => t('$ 00,00'),
'#required' => TRUE,
'#mask' => '$?999.999.999,99',
);
....
我在Drupal中安装了“Libraries”和“Masked Input”插件并刷新了我的缓存。
我下载了 jquery.maskedinput-1.3.js 并将其放入我的{DRUPAL_HOME} / misc / ui /
任何想法?
提前谢谢
答案 0 :(得分:2)
这有点令人困惑。以下是您需要做的事情:
注意:这是一种临时解决方法,不需要您修补模块或更改任何代码。需要修复该模块以解决这些问题,如文档here
所述注意2:安装后,您可能需要将{DRUPAL HOME} / sites / all / libraries / masked_input重命名为{DRUPAL HOME} / sites / all / libraries / maskedinput,以使其加载并正常工作。
答案 1 :(得分:0)
我下载了jquery.maskedinput-1.3.js并将其放入我的{DRUPAL_HOME} / misc / ui /
这是系统Drupal路径,您无需更改其内容
在Drupal Libraries中是外部脚本,存储在特殊的Libraries文件夹中。在sites/all/libraries
的情况下
因此,文件jquery.maskedinput-1.3.js
应位于sites/all/libraries/maskedinput
文件夹中。
答案 2 :(得分:0)
上述代码的问题是字段类型。它应该是:
'#type' => 'masked_input',
代替'#type' => 'textfield',
模块文档显示了这一点,但我没有注意到它两天。
答案 3 :(得分:0)
Sean's方法仅适用于旧版本1.3.1的屏蔽输入,2周后几乎放弃:
https://github.com/digitalBush/jquery.maskedinput/releases
下载软件包,解压缩,然后:
cp jquery.maskedinput-1.3.1/dist/jquery.maskedinput.js {DRUPAL HOME}/sites/all/libraries/masked_input/jquery.maskedinput.1-3.js
cp jquery.maskedinput-1.3.1/dist/jquery.maskedinput.min.js {DRUPAL HOME}/sites/all/libraries/masked_input/jquery.maskedinput.1-3.min.js
制作另一份副本,作为maskedinput:
cd {DRUPAL HOME}/sites/all/libraries/
cp -a masked_input maskedinput
安装库模块,安装masked_input及其中。现在你可以使用它了。 也许masked_input需要jquery库1.4兼容性的一些更新,我不是Jquery专家只是一个想法。