Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法禁用CRM表单上的仅时间字段_Javascript_Dynamics Crm_Dynamics 365 - Fatal编程技术网

Javascript 无法禁用CRM表单上的仅时间字段

Javascript 无法禁用CRM表单上的仅时间字段,javascript,dynamics-crm,dynamics-365,Javascript,Dynamics Crm,Dynamics 365,我正在尝试使用javascript使用以下代码禁用Dynamics 365 CE表单上的所有字段: Xrm.Page.data.entity.attributes.forEach(函数(属性){ var-control=Xrm.Page.getControl(attribute.getName()); 如果(控制){ 控件。setDisabled(true) } }); 除“仅时间”字段外,表单上的所有字段均被禁用。我的表单如下所示: 我做错了什么?您正在使用Xrm.Page对象,该对象现在

我正在尝试使用javascript使用以下代码禁用Dynamics 365 CE表单上的所有字段:

Xrm.Page.data.entity.attributes.forEach(函数(属性){
var-control=Xrm.Page.getControl(attribute.getName());
如果(控制){
控件。setDisabled(true)
}
});
除“仅时间”字段外,表单上的所有字段均被禁用。我的表单如下所示:


我做错了什么?

您正在使用
Xrm.Page
对象,该对象现在已被弃用

而是使用传递给表单onLoad函数的上下文。试试这个:

函数onLoad(上下文){
var formContext=context.getFormContext();
formContext.data.attributes.forEach(a=>{
a、 控件。forEach(c=>{
如果(c.getControlType()!==“kbsearch”)
c、 setDisabled(true);
});
});
}
根据控件类型,KB搜索应该是唯一不支持
setDisabled()
的控件类型


请使用下面的代码

 Xrm.Page.ui.controls.forEach(function (control, i) {
            if (control && control.getDisabled && !control.getDisabled()) {
                control.setDisabled(true);
            }
        });