CRM Javascript 如何禁用表单标题上的字段

ich*_*han 1 javascript dynamics-crm dynamics-crm-2016

我们使用的是 CRM 2016,我需要在满足特定条件时禁用联系人表单上的所有字段。这是我使用的代码

var attributes = Xrm.Page.data.entity.attributes.get();
for (var i in attributes) {
    var myattribute = Xrm.Page.data.entity.attributes.get(attributes[i].getName());
    var myname = myattribute.getName();
    if (Xrm.Page.getControl(myname) != null) {
        //alert(myname);
        Xrm.Page.getControl(myname).setDisabled(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

该代码工作完美,除了由于某种原因我无法访问标题上的字段。不知何故,getControl 总是为标头字段返回 null。页眉上的所有字段均未锁定,但页脚本身默认已锁定,我无法解锁它。

是否可以禁用 CRM 表单中的标题字段?我是否需要找到一种方法来解锁表单上的标题?我尝试使用下面的代码禁用该字段本身,但没有成功。

Xrm.Page.getControl("mycustomfield").setDisabled(true);
Run Code Online (Sandbox Code Playgroud)

ich*_*han 5

我必须将“header_”添加到我的字段名称中才能使其正常工作

Xrm.Page.getControl("header_mycustomfield").setDisabled(true);
Run Code Online (Sandbox Code Playgroud)