3

ここで、マスクされた入力プラグインが機能しないことに関連する他のいくつかのスレッドを確認しましたが、回答が見つかりませんでした:

マスクされた入力プラグインが機能しない

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 で簡単な修復と再構築を行っています (ただし、これは完全に不要なはずです)。

4

2 に答える 2

3

SuiteCRM のフォーラムで助けを得ることができました。

-このCookie プラグインが必要でした

-上記の私の構文src="jquery.maskedinput.min.js"では、省略する必要がありました。

-上記の私の構文で\$jは、上記の構文が削除された後にのみ表示される無限エラーが chrome コンソールに作成さjれていました。

修正されたコードは次のようになります。

<?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="custom/include/javascript/js.cookie.js" type="text/javascript"></script>
                <script type="text/javascript">
                var \$ = jQuery.noConflict();
                    \$("#home_phone_c").mask("(999) 999-9999");
                    \$("#work_number_c").mask("(999) 999-9999");
                    \$("#mobile_number_c").mask("(999) 999-9999");
                    \$("#inital_deposit_amount_c").mask("");
                </script>
JS;
        parent::display();
        echo $js;

    }

}
?>
于 2015-07-24T11:59:05.013 に答える