3

我在这里检查了与屏蔽输入插件不起作用相关的其他几个线程,但找不到任何答案:

屏蔽输入插件不起作用

jQuery Masked Input 插件不适用于表单输入?

JQuery 屏蔽输入插件不起作用

我应该先说我的编程知识相当有限。我有帮助,但这种帮助并不总是可用的。

我正在尝试使用这个插件

我的版本号:SuiteCRM 版本 7.2.1,Sugar 版本 6.5.20(内部版本 1001)

所以我从 digitalbrushes 网站添加了 jQuery javascript 库文件和 jQuery 插件,并将它们都放在 /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} 标记中:在 SugarCRM editview 中添加自定义 jQuery 验证,没有任何改变。如果有必要,我不确定如何或是否将 .ready(function() 应用于此。我不认为这是因为 .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 回答
0

您需要使用“包含”在元数据中添加 JS 文件。然后在该文件中编写代码。Sugar 不建议在 PHP 视图中编写 java-script 代码。

如果你只需要 view.edit 来达到这个目的,那么最后这个文件就不需要了,因此会被删除。如果您需要更多详细信息,请告诉我。

于 2017-08-22T06:01:17.350 回答