SuiteCRM - jQuery 屏蔽输入插件不工作
SuiteCRM - jQuery Masked Input Plugin Not Working
我在这里检查了其他几个与屏蔽输入插件不工作相关的线程,但找不到任何答案:
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(内部版本 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 is not a function"
我已经尝试按照此答案的建议将其包装在 {literal} 标签中:Adding custom jQuery validation in SugarCRM editview,没有任何改变。如果有必要,我不确定如何或是否将 .ready(function() 应用于此。我不认为这是因为 parent::display();
.
我已经在 Chrome、Firefox、Safari 和 IE 中尝试过相同的页面....没有。进行更改后,我还清除了缓存和 cookie,以确保获得最新结果。我也每次都在 SuiteCRM 上进行快速修复和重建(尽管这应该是完全没有必要的)只是为了覆盖我的基础。
我能够在 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;
}
}
?>
您需要使用 "include" 在元数据中添加 JS 文件。然后将您的代码写入该文件。 Sugar 不建议在 PHP 视图中编写 java-script 代码。
如果您只需要 view.edit 用于此目的,那么最后将不需要此文件,因此会被删除。如果您需要更多详细信息,请告诉我。
我在这里检查了其他几个与屏蔽输入插件不工作相关的线程,但找不到任何答案:
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(内部版本 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 is not a function"
我已经尝试按照此答案的建议将其包装在 {literal} 标签中:Adding custom jQuery validation in SugarCRM editview,没有任何改变。如果有必要,我不确定如何或是否将 .ready(function() 应用于此。我不认为这是因为 parent::display();
.
我已经在 Chrome、Firefox、Safari 和 IE 中尝试过相同的页面....没有。进行更改后,我还清除了缓存和 cookie,以确保获得最新结果。我也每次都在 SuiteCRM 上进行快速修复和重建(尽管这应该是完全没有必要的)只是为了覆盖我的基础。
我能够在 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;
}
}
?>
您需要使用 "include" 在元数据中添加 JS 文件。然后将您的代码写入该文件。 Sugar 不建议在 PHP 视图中编写 java-script 代码。
如果您只需要 view.edit 用于此目的,那么最后将不需要此文件,因此会被删除。如果您需要更多详细信息,请告诉我。