javascript - SugarCRM - 填充相关字段时触发 Javascript 函数

标签 javascript jquery sugarcrm

我想在填充相关字段时触发一些 JavaScript

我希望找到一种 Jquery 监视隐藏字段 contact_id 的方法,并在它更改时调用 Javascript 函数,但我不确定这是否可行

目前我更改了editviewdefs,以便事件触发onb​​lur

Code:

 array (
            'name' => 'contact_name',
            'label' => 'LBL_CONTACT_NAME',
            'customLabel' => '{$MOD.LBL_CONTACT_NAME}:  <span class="required">*</span>',
            'displayParams' => 
            array (
              'initial_filter' => '&account_name_advanced={$fields.account_name.value}&status_advanced=Live',
              'field' => 
              array (
                'onchange' => 'getOpenCases()',
              ),
              'javascript' => 
              array (
                'btn' => ' onblur="getOpenCases()" ',
                'btn_clear' => ' onblur="getOpenCases()" ',
              ),
            ),
            'tabindex' => '11',
          ),

但这意味着用户必须在触发事件之前单击远离该字段的按钮

我希望它在 contact_id 填充后立即发生

这可能吗?如果是这样我该如何实现?

最佳答案

我有一个相当复杂的方法来检查隐藏输入中的更改。

当有人单击按钮或开始在文本字段中输入内容时,我会触发 setInterval 函数。然后,我使用 jQuery data() 检查隐藏输入中的任何更改。当我注意到更改时,我运行自定义 js,然后清除间隔。

所有代码都在外部 js 文件中。

// watch for a change in account ID
$('#btn_account_name').click(function(){
    checkAccountIdChange();
});
$('#account_name').blur(function(){
    checkAccountIdChange();
});

function checkAccountIdChange() {
    var theInterval = setInterval(function(){
        var oldId = $('#account_id').data('oldId');
        var newId = $('#account_id').val();
        if (oldId != newId && newId != '') {
            getAccountData(newId, theInterval);
            $('#account_id').data('oldId', newId);
        }

    }, 500);
}

function getAccountData(id, theInterval) {

    // do your custom js
    clearInterval(theInterval);

}

这不是特别干净或迷人,但确实有效。我很想看看其他人如何解决这个问题。

关于javascript - SugarCRM - 填充相关字段时触发 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18076773/

相关文章:

javascript - 随着时间的流逝,是否可以显示检索到的评论?

javascript - 使用此事件获取 html 元素的宽度

php - 在 SugarCRM 中生成的 URL 以显示在 ListView 中 - 将记录添加到数据库

php - 本地主机中 SugarCRM 中的 SSL 错误

javascript - 如何在网页上启用水平滚动

javascript - Mongoose:更新文档时转换为日期失败

javascript - 如何将 og 标签添加到 expo 管理的 React Native Web 应用程序?

JavaScript 动画同步

javascript - 如何在javascript中循环坐标?

sugarcrm - 如何以安全升级的方式扩展/包含/SearchForm/SearchForm2.php?