0

Drupal 7でフォームを作成しようとしていますが、フィールドの1つに入力マスクが必要です。プラグインのマスクされた入力が、私が探しているもののように見えることがわかりました。それを実装する方法についてのドキュメントがないだけです(私は通貨とこのプラグインについて読みましたが、ここではそれを機能させることについてのみです)。

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」プラグインと「MaskedInput」プラグインをインストールし、キャッシュをフラッシュしました。

jquery.maskedinput-1.3.jsをダウンロードして、{DRUPAL_HOME} / misc /ui/に配置しました。

何か案は?

前もって感謝します

4

4 に答える 4

2

これは少し混乱します。これがあなたがする必要があることです:

  1. ここからファイルをダウンロード
  2. sites/all/libraries フォルダーに、"masked_input" というフォルダーを作成します。
  3. ファイルを sites/all/libraries/masked_input フォルダーにアップロードします
  4. ファイルの名前を 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
  5. これで、モジュールを有効にできます。
  6. 利益!

注: これは一時的な回避策であり、モジュールにパッチを適用したり、コードを変更したりする必要はありません。ここに記載されているように、これらの問題に対処するためにモジュールを修正する必要があります

注 2: インストール後、ロードして機能させるために、{DRUPAL HOME}/sites/all/libraries/masked_input の名前を {DRUPAL HOME}/sites/all/libraries/maskedinput に変更する必要がある場合があります。

于 2013-02-19T16:46:28.127 に答える
0

jquery.maskedinput-1.3.js をダウンロードして {DRUPAL_HOME}/misc/ui/ に配置しました

これはシステム Drupal パスであり、内容を変更する必要はありません。
Drupal ライブラリでは、特別な Libraries フォルダに保存されている外部スクリプトがあります。あなたの場合はsites/all/libraries.
したがって、ファイルjquery.maskedinput-1.3.jssites/all/libraries/maskedinputフォルダーにある必要があります。

于 2012-05-23T15:53:22.977 に答える
0

ショーンの方法は、マスクされた入力の古いバージョン 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 をインストールします。これで使用できます。jquery ライブラリ 1.4 との互換性のために masked_input を更新する必要があるかもしれません。私は Jquery の専門家ではありません。

于 2015-02-13T15:30:44.387 に答える
0

上記のコードの問題は、フィールド タイプです。そのはず:

'#type' => 'masked_input',それ以外の'#type' => 'textfield',

モジュールのドキュメントにはこれが示されていますが、私は 2 日間気付かなかったのです。

于 2014-06-13T15:58:03.713 に答える