Хранение содержимого массива в классе div и показ чистых имен - PullRequest
0 голосов
/ 29 октября 2019

У меня есть несколько пользователей, которые находятся в активном каталоге. В активном каталоге у них есть имена пользователей, например i:0#.w|opmain\name. Синхронизируется ежедневно.

С ИБП (Служба профилей пользователей) я обычно получаю имя пользователя (например, borisj). Чтобы получить настоящее имя (например, Борис Джонсон), мне нужно найти в 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, но я не знаю как.

Я думал о чем-то подобном, но для меня это не имеет особого смысла:

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; 
    }
}

1 Ответ

0 голосов
/ 29 октября 2019

Ну, насколько я понял, вам нужно получить имя пользователя и использовать это имя в качестве имени класса для div.

Допустим, у вас есть такой div:

<div id="userDiv"></div>

Вы можете добавить имя класса к этому div, выполнив:

var div = document.getElementbyId("userDiv");
div.className = username; //or div.classList.add(username); if you don't want to override existing classes
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...