如何在Drupal 7中使用“Masked Input”模块

时间:2012-05-23 14:04:33

标签: drupal-7 maskedinput

我正在尝试在 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 /

任何想法?

提前谢谢

4 个答案:

答案 0 :(得分:2)

这有点令人困惑。以下是您需要做的事情:

  1. here
  2. 下载文件
  3. 在您的sites / all / libraries文件夹中,创建一个名为“masked_input”的文件夹
  4. 将文件上传到您的sites / all / libraries / masked_input文件夹
  5. 将文件重命名为jquery.maskedinput-1.3.js或jquery.maskedinput-1.3.min.js,以便您的文件的最终路径为{DRUPAL HOME} /sites/all/libraries/masked_input/jquery.maskedinput -1.3.js或{DRUPAL HOME} /sites/all/libraries/masked_input/jquery.maskedinput-1.3.min.js
  6. 现在您可以启用该模块。
  7. 利润!
  8. 注意:这是一种临时解决方法,不需要您修补模块或更改任何代码。需要修复该模块以解决这些问题,如文档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专家只是一个想法。