将数组内容存储在 div class 中并显示清晰的名称
Storing array content in a div class and showing clear names
我有几个用户在活动目录中。在活动目录中,他们有像 i:0#.w|opmain\name
这样的用户名。它每天同步。
使用 UPS(用户配置文件服务)我通常会得到 username (f.ex.borisj)。为了获得真实姓名(例如鲍里斯约翰逊),我必须在 UPS 中进行查找。
我想在 UPS 中查询以获得明确的名称。关于这个我有一个函数 getUserInformation(username,type)
和 onChangeRequestor()
:
function getUserInformation(username, type) {
var clientContext = new SP.ClientContext.get_current();
var peopleManager = new SP.UserProfiles.PeopleManager(clientContext);
personProperties = peopleManager.getPropertiesFor(username);
clientContext.load(personProperties);
clientContext.executeQueryAsync(function () { processUserInformationSuccess(personProperties, type) }, function () { processUserInformationFail(type) });
}
function onChangeRequestor() {
var logins = replaceSubstring(NWF$("#" + varRequestorID).val(), ";", "");
var accountArray = logins.split("|")
var username = accountArray[1];
getUserInformation(username, "requestorinfo");
}
所以我创建了一个数组并遍历它:
var userarray = new Array();
var username;
var logins;
var accountArray;
for (var i = 0; i < userarray.length; i++) {
logins = replaceSubstring(NWF$("#" + varRequestorID).val(), ";", "");
accountArray = logins.split("|")
username = accountArray[1];
getUserInformation("opmain\" + userarray[i], lookupUserDefaultName);
}
userarray.push(username);
我想将内容(清晰的名称)存储在 div class 中,但我不知道如何。
我想到了这样的事情,但对我来说意义不大:
var <div class="users">Usernames</div>
var username = document.getElementsByClassName("users");
for (var i = 0; i < usernames.length; i++){
usernames[i].className += " new_class";
}
lookupUserDispName();
这里是 lookupUserDispName
:
function lookupUserDispName(){
for (var i = 0; i < userarray.length; i++) {
getUserInformation(userarray[i], lookupUser);
OnChangeRequestor();
requestor = displayName;
}
}
好吧,据我了解,您想要的是获取用户名,并将此名称用作 div.
的 class 名称
假设您有这样一个 div:
<div id="userDiv"></div>
您可以通过以下操作向此 div 添加 class 名称:
var div = document.getElementbyId("userDiv");
div.className = username; //or div.classList.add(username); if you don't want to override existing classes
我有几个用户在活动目录中。在活动目录中,他们有像 i:0#.w|opmain\name
这样的用户名。它每天同步。
使用 UPS(用户配置文件服务)我通常会得到 username (f.ex.borisj)。为了获得真实姓名(例如鲍里斯约翰逊),我必须在 UPS 中进行查找。
我想在 UPS 中查询以获得明确的名称。关于这个我有一个函数 getUserInformation(username,type)
和 onChangeRequestor()
:
function getUserInformation(username, type) {
var clientContext = new SP.ClientContext.get_current();
var peopleManager = new SP.UserProfiles.PeopleManager(clientContext);
personProperties = peopleManager.getPropertiesFor(username);
clientContext.load(personProperties);
clientContext.executeQueryAsync(function () { processUserInformationSuccess(personProperties, type) }, function () { processUserInformationFail(type) });
}
function onChangeRequestor() {
var logins = replaceSubstring(NWF$("#" + varRequestorID).val(), ";", "");
var accountArray = logins.split("|")
var username = accountArray[1];
getUserInformation(username, "requestorinfo");
}
所以我创建了一个数组并遍历它:
var userarray = new Array();
var username;
var logins;
var accountArray;
for (var i = 0; i < userarray.length; i++) {
logins = replaceSubstring(NWF$("#" + varRequestorID).val(), ";", "");
accountArray = logins.split("|")
username = accountArray[1];
getUserInformation("opmain\" + userarray[i], lookupUserDefaultName);
}
userarray.push(username);
我想将内容(清晰的名称)存储在 div class 中,但我不知道如何。
我想到了这样的事情,但对我来说意义不大:
var <div class="users">Usernames</div>
var username = document.getElementsByClassName("users");
for (var i = 0; i < usernames.length; i++){
usernames[i].className += " new_class";
}
lookupUserDispName();
这里是 lookupUserDispName
:
function lookupUserDispName(){
for (var i = 0; i < userarray.length; i++) {
getUserInformation(userarray[i], lookupUser);
OnChangeRequestor();
requestor = displayName;
}
}
好吧,据我了解,您想要的是获取用户名,并将此名称用作 div.
的 class 名称假设您有这样一个 div:
<div id="userDiv"></div>
您可以通过以下操作向此 div 添加 class 名称:
var div = document.getElementbyId("userDiv");
div.className = username; //or div.classList.add(username); if you don't want to override existing classes