我尝试从人员选择器控件中获取选定的用户 ID,如下所示:
function GetUserIdsFromPP() {
var xml = _picker.find('div#divEntityData');
var visiblefor = new Array();
xml.each(function (i, row) {
var data = $(this).children().first('div').attr('data');
var xmlDoc;
if (window.DOMParser) {
parser = new DOMParser();
xmlDoc = parser.parseFromString(data, "text/xml");
}
else // Internet Explorer
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(data);
}
var uid = xmlDoc.getElementsByTagName('Value')[0].firstChild.nodeValue;
visiblefor.push(uid);
});
return visiblefor;
}
问题是有时 XML 不包含<Key>SPUserID</Key><Value>1</Value>
并且我得到 FQUN(用户使用域名登录)。
从 PeoplePicker 控件解析选定的 SPUserId 的更好方法是什么?