1

通过一个简单的 Dynamics 2011 CRM 表单,我试图从 onload 事件中隐藏一个选项卡和/或它的部分。我可以成功地单步执行代码并且没有收到任何错误,但该选项卡始终可见。就好像我的代码有效,然后其他内置代码重置它再次可见。此表单上没有其他自定义代码。

function onLoad() {
    debugger;
    try {
        var formType = Xrm.Page.ui.getFormType();
        var myTab = Xrm.Page.ui.tabs.get("document");
        if (formType == 1) {
            var mySec = myTab.sections.get("documentInstructionSection");
            mySec.setVisible(true);
            mySec = myTab.sections.get("documentDetailsSection");
            mySec.setVisible(false);
            myTab.setVisible(false);
            Xrm.Page.ui.tabs.get("document").setVisible(false);
        }
        else {
            var mySec = myTab.sections.get("documentInstructionSection");
            mySec.setVisible(false);
            mySec = myTab.sections.get("documentDetailsSection");
            mySec.setVisible(true);
        }
    }
    catch (err) {

    }
}
4

1 回答 1

0

为了解决您的问题,我建议执行以下操作来排除故障:

  1. 承诺这些值不为空:mySec, myTab
  2. 关闭表单上除 onload 事件之外的所有 JS 事件,然后再次检查您的代码。
  3. 如果以上操作仍然无法解决,您可以尝试使用 JS DOM 隐藏这些选项卡。如 document.getElementById("XXX").style.display="none"
于 2013-07-23T05:38:09.057 回答