【问题标题】:Xrm.Page.getControl works in IE 11 and returns an object but the same code in the Edge browser returns nullXrm.Page.getControl 在 IE 11 中工作并返回一个对象,但 Edge 浏览器中的相同代码返回 null
【发布时间】:2018-05-02 06:08:49
【问题描述】:

我有一个在页面加载时运行并执行以下操作的脚本。

===== js文件开始======

var curFldCtrl = Xrm.Page.getControl("transactioncurrencyid");

function ResetFieldLayout() {

curFldCtrl.setVisible(false);

}

function OnLoad() {

ResetFieldLayout();

}

===========结束js文件==============

有趣的是,这段代码可以在 Chrome 和 IE11 中找到,但是当我在 Microsoft Edge 中运行它时,它会引发错误。

此字段的自定义事件出错。

字段:窗口

事件:加载

错误:无法获取未定义或空引用的属性“setVisible”。

有人遇到过这种情况或知道为什么会这样吗?

提前致谢。

【问题讨论】:

    标签: javascript microsoft-dynamics xrm


    【解决方案1】:

    尝试将变量声明放在你的函数中。

    function ResetFieldLayout() {
    
    var curFldCtrl = Xrm.Page.getControl("transactioncurrencyid");
    curFldCtrl.setVisible(false);
    
    }
    
    function OnLoad() {
    
    ResetFieldLayout();
    
    }
    

    【讨论】:

    • 谢谢。它现在确实有效。我要找出自己,但你会碰巧知道为什么吗?我的意思是为什么 Edge 不接受全局声明?
    • @AndrewN,我猜 Edge 决定不执行 Xrm.Page.getControl。变量声明 curFldCtrl 存在,只是没有填充。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多