我正在开展动态crm 2013中的javascript活动。
我有一个选项集(让我们称之为fieldA)。当它改变时,我想设置一个查找的值(让我们称之为fieldB)。此查找是强制性的(或CRM调用它时需要业务)。
这是我的代码:
function fieldAOnChange() {
/* computation of field B value: entityId, name, entityType */
var lookupField = Xrm.Page.getAttribute(fieldBId);
if (!isUndefined(lookupField)) {
if (entityId != null && name != null && entityType != null) {
var lookupValue = new Array();
lookupValue[0] = new Object();
lookupValue[0].id = entityId;
lookupValue[0].name = name;
lookupValue[0].entityType = entityType;
lookupField.setValue(lookupValue);
} else {
lookupField.setValue(null);
}
lookupField.fireOnChange();
}
}
此代码几乎正常。查找已正确填充,但字段旁边会显示“这是必填字段且未填充”图标。 这就是我想要解决的问题!
如果我点击该字段以获得焦点,然后在其他地方丢失它,图标就会消失。如果我再次更改选项集中的值并再次更新fieldB,则图标也会消失。
我尝试过愚蠢的事情,例如设置焦点开启或关闭,或者两次启动fireOnChange事件而没有结果。
我做错了吗?