Javascript 使用JS隐藏Dynamics 365上的节
我尝试获取一个字段值(这是一个双选项复选框),如果选中,则将某个部分的可见性设置为true,如果未选中,则将可见性设置为false。我在字段中设置了在发生更改事件时调用函数 当我进入表单并选中或取消选中该框时,它会给我一个脚本错误 这是我正在使用的函数: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
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不能隐藏节/选项卡。只有单个字段。