我正在 Microsoft 的 CRM Dynamics Online 中自定义表单,需要将字段值设置为当前用户的 ID。我有正确提取 SystemUserID 的代码,但我很难将值输入表单字段。
//Lots of XML/SOAP stuff to pull the user information
var systemUserIdNode = entityNode.selectSingleNode("q1:systemuserid");
crmForm.all.FieldForUserID.DataValue = systemUserIdNode; //Fails silently
[更新] 经过一番挖掘,我根据 SDK 中的示例更新了我的代码。现在看起来像这样:
var userIdValue = new Array();
userIdValue [0] = new LookupControlItem(systemUserIdNode, 8, fullNameNode);
crmForm.all.new_useridfield.DataValue = userIdValue ;
但是,这会导致最后一行出现错误 - “对象不支持此属性或方法”。所以我仍然很困惑(更是如此,因为示例不在 SDK 中)。
最佳答案
尝试删除前两行并将第三行替换为
crmForm.all.new_useridfield.DataValue =
[{
id: systemUserIdNode,
name: fullNameNode,
typename: 'systemuser'
}];
id 属性可能需要大括号,因此您可能必须将其更改为:
id: '{' + systemUserIdNode + '}'
关于javascript - 如何在 JavaScript 中将用户字段设置为 SystemUserId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1848524/