我使用Dynamics crm 2016,在我的代码中我将字段禁用模式从true更改为false,当我的函数将所有字段更改为disable-true时它工作正常但是当我想将其更改回false时(解锁所有字段)我收到此错误:
"xrm.Page.getAttribute(...).setDisabled is not a function"
我尝试了不同的选项,但都返回相同的结果 这是我的代码:
// WORKS
function disableAllFields() {
Xrm.Page.ui.controls.forEach(function (control, i) {
if (control && control.getDisabled && !control.getDisabled()) {
control.setDisabled(true);
}
});
}
//没有工作 - 得到错误
function unDisableAllFields() {
Xrm.Page.ui.controls.forEach(function (control, i) {
if(control && control.getDisabled && !control.getDisabled()) {
control.setDisabled(false);
}
});
}
答案 0 :(得分:1)
function unDisableAllFields() {
Xrm.Page.ui.controls.forEach(function (control, i) {
if(control && control.getDisabled) {
control.setDisabled(false);
}
});
}
问题是!control.getDisabled()
。摆脱它&现在它工作正常
答案 1 :(得分:0)
有一个属性和控件的概念可以理解。与MVC相比:
调用setDisable时,必须在控件上完成,因为属性没有视觉上的表现。