Javascript 使用JS隐藏Dynamics 365上的节

Javascript 使用JS隐藏Dynamics 365上的节,javascript,dynamics-crm,Javascript,Dynamics Crm,我尝试获取一个字段值(这是一个双选项复选框),如果选中,则将某个部分的可见性设置为true,如果未选中,则将可见性设置为false。我在字段中设置了在发生更改事件时调用函数 当我进入表单并选中或取消选中该框时,它会给我一个脚本错误 这是我正在使用的函数: function SetProductVisible(){ if (Xrm.Page.getAttribute("ee_productspecific").getValue()){ Xrm.Page.ui.tabs

我尝试获取一个字段值(这是一个双选项复选框),如果选中,则将某个部分的可见性设置为true,如果未选中,则将可见性设置为false。我在字段中设置了在发生更改事件时调用函数

当我进入表单并选中或取消选中该框时,它会给我一个脚本错误

这是我正在使用的函数:

function SetProductVisible(){


    if (Xrm.Page.getAttribute("ee_productspecific").getValue()){
         Xrm.Page.ui.tabs.get(“SubGrids”).sections.get(“Products”).setVisible(true);  
    }

    else{
        Xrm.Page.ui.tabs.get(“SubGrids”).sections.get(“Products”).setVisible(false);      
   }
};
谢谢你的帮助


字段默认值也设置为“否”

通过将
替换为
,确保使用了正确的引号


如评论中所述,还要确保您的选项卡和节使用了正确的名称,并检查开发人员控制台以了解有关错误的更多信息。

与其使用自定义web资源来显示/隐藏字段或节,我建议您使用业务规则。使用业务规则,您可以设置一个简单的选中一个字段的值,并在此基础上隐藏其他字段。

这是您的解决方案

我在CRM表单上创建了一个名为“log_showhide”的新字段,这是一个双选项字段。您需要编辑下面的代码,以使节名和字段名与正确的值匹配

此外,我会将代码设置为在加载表单和更改字段时运行

此方法适用于Microsoft Dynamics 365 v9.x

函数隐藏显示(executionContext){
var a=executionContext.getFormContext().getAttribute(“log_showhide”).getValue();
如果(a==0){
Xrm.Page.ui.tabs.get(“SUMMARY_TAB”).sections.get(“sampleSection”).setVisible(true);
}否则{
Xrm.Page.ui.tabs.get(“SUMMARY_TAB”).sections.get(“sampleSection”).setVisible(false);
}

}
在浏览器中打开开发工具,然后执行生成错误的操作。脚本工具中的调试器应在异常时自动中断。我知道这是Chrome和FF的开发工具的行为,在IE中,您可能必须勾选一个选项以暂停异常。您很可能没有正确的选项卡或扇区n名称,首先检查表单上的选项卡/部分名称(自定义)。很可能是这样。代码中“子网格”和“产品”周围的“”需要手动替换。这通常发生在从浏览器复制和粘贴代码时,条件很简单,比如这个问题,业务规则比JS更合适。除了BRs不能隐藏节/选项卡。只有单个字段。