SuiteCRM - jQuery蒙面输入插件无法正常工作

时间:2015-07-23 01:13:09

标签: javascript jquery sugarcrm suitecrm

我已经检查了其他几个与屏蔽输入插件无关的其他线程,但是无法找到任何答案:

Masked Input Plugin not working

jQuery Masked Input plugin not working on form input?

JQuery Masked Input plugin doesn't work

我应该通过说我的编程知识相当有限来作为序言。我有帮助,但并不总是有这种帮助。

我正在尝试使用此plugin

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

所以我从digitalbrushes网站添加了jQuery javascript库文件和jQuery插件,并将它们放在/ admin / custom / include / javascript /

然后在我正在处理的模块下,在这种情况下是Contracts模块,我正在处理的文件在这里: /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文件中收到一个无关的错误:

  

“Uncaught TypeError:$ .cookie不是函数”

我已经尝试将此包装在{literal}标签中,如此答案所示:Adding custom jQuery validation in SugarCRM editview,没有任何改变。如果有必要,我不确定.ready(function()如何应用于此。我认为这不是因为parent::display();

我在Chrome,Firefox,Safari和IE中尝试了同样的页面....没有。在我做出更改后,我还清除了缓存和cookie,以确保我获得了新的结​​果。我每次都在SuiteCRM上进行了快速修复和重建(虽然这应该是完全没必要的)只是为了覆盖我的基础。

2 个答案:

答案 0 :(得分:3)

我能够在SuiteCRM的论坛上获得帮助。

- 我需要this 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;

    }

}
?>

答案 1 :(得分:0)

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

如果您只需要view.edit用于此目的,那么最后将不需要此文件,因此将被删除。如果您需要更多详细信息,请告诉我。