ここで、マスクされた入力プラグインが機能しないことに関連する他のいくつかのスレッドを確認しましたが、回答が見つかりませんでした:
jQuery Masked Inputプラグインがフォーム入力で機能しませんか?
JQuery Masked Input プラグインが機能しない
私のプログラミング知識はかなり限られていると言って、これを前置きする必要があります。ヘルプがありますが、そのヘルプが常に利用できるとは限りません。
私のバージョン #: SuiteCRM バージョン 7.2.1、Sugar バージョン 6.5.20 (ビルド 1001)
そこで、jQuery JavaScript ライブラリ ファイルと jQuery プラグインを digitalbrushes Web サイトから追加し、両方を /admin/custom/include/javascript/ に配置しました。
次に、私が現在取り組んでいるモジュールの下で、この場合は契約モジュールです。私が取り組んでいるファイルは次のとおりです: /admin/custom/modules/AOS_Contracts/views/view.edit.php
以下はファイルです:
<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
require_once('include/MVC/View/views/view.edit.php');
class AOS_ContractsViewEdit extends ViewEdit {
// function displaySubPanels() {
// return '';
// }
function display(){
$js = <<<JS
<script src="/admin/custom/include/javascript/jquery.min.js" type="text/javascript">
<script src="/admin/custom/include/javascript/jquery.maskedinput.min.js" type="text/javascript">
var \$j = jQuery.noConflict();
\$j("#home_phone_c").mask("(999) 999-9999");
\$j("#work_phone_c").mask("(999) 999-9999");
\$j("#mobile_phone_c").mask("(999) 999-9999");
\$j("#inital_deposit_amount_c").mask("999,999,999,999,999.99");
});
</script>
JS;
parent::display();
echo $js;
}
}
ページを読み込んでフィールドをクリックすると、マスクが表示されません。Chrome コンソールでは、style.js ファイルに次のような無関係なエラーが表示されるだけです。
「キャッチされていない TypeError: $.cookie は関数ではありません」
この回答で提案されているように、私はすでにこれを {literal} タグでラップしようとしました: .ready(function() が必要な場合にこれにどのように適用されるか、または適用されるかどうかはよくわかりませんparent::display();
。
Chrome、Firefox、Safari、および IE でこの同じページを試しましたが、何もありません。また、変更を行った後、キャッシュと Cookie をクリアして、最新の結果が得られるようにしました。また、ベースをカバーするために、毎回 SuiteCRM で簡単な修復と再構築を行っています (ただし、これは完全に不要なはずです)。