Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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错误设置的业务所需查找_Javascript_Dynamics Crm 2013 - Fatal编程技术网

由javascript错误设置的业务所需查找

由javascript错误设置的业务所需查找,javascript,dynamics-crm-2013,Javascript,Dynamics Crm 2013,我正在处理dynamics crm 2013中的一个javascript事件 我有一个选项集(我们称之为fieldA)。当它改变时,我想设置一个查找的值(我们称之为fieldB)。此查找是必需的(或CRM所称的业务必需的) 这是我的密码: function fieldAOnChange() { /* computation of field B value: entityId, name, entityType */ var lookupField = Xrm.Page.ge

我正在处理dynamics 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();
    }
}
此代码几乎可以正常工作。查找已正确填写,但字段旁边会显示图标“这是必填字段,未填写”这就是我想要解决的问题

如果我单击该字段以获得焦点,然后单击其他位置以丢失焦点,图标将消失。如果我再次更改选项集中的值,并且字段B再次更新,图标也会消失

我尝试过一些愚蠢的事情,比如打开和关闭焦点,或者两次启动fireOnChange事件,但都没有结果


我做错了什么吗?

我不认为把焦点放在其他地方是愚蠢的,不过,您是否确保焦点首先在字段B中?是的,我试图用代码模拟使图标消失的原因。因此,我将重点放在fieldB上,然后放在其他地方。我称之为愚蠢,因为我更喜欢预期的结果:字段已设置,没有理由显示此图标…我不知道确切的问题是什么,可能需要稍微解决一下,一旦将字段设置为值或null,可能会更改字段的所需级别:Xrm.Page.getAttribute(fieldName).setRequiredLevel(“必需”);Xrm.Page.getAttribute(fieldName.setRequiredLevel(“无”);