gpt4 book ai didi

javascript - 如何使用 javascript 将人员选择器数据 (DisplayText) 添加到类型 'person or group' 的列中?

转载 作者:行者123 更新时间:2023-12-03 02:47:03 24 4
gpt4 key购买 nike

我正在获取用户的显示文本和电子邮件,但我不知道如何将其插入“人员或组”列。

function getUserInfo(PeoplepickerId) {  
var UsersID="";
var peoplePicker = this.SPClientPeoplePicker.SPClientPeoplePickerDict[PeoplepickerId + "_TopSpan"];

if (peoplePicker.HasInputError) return false; // if any error
else if (!peoplePicker.HasResolvedUsers()) return false; // if any invalid users
else if (peoplePicker.TotalUserCount > 0) {
// Get information about all users.
var users = peoplePicker.GetAllUserInfo();
//var userInfo = '';
//var promise = '';
for (var i = 0; i < users.length; i++) {
UsersID += users[i].DisplayText + "\n";
UsersID += users[i].EntityData.Email;
}
return UsersID;
}
}

最佳答案

您可以使用 JSOM 将数据插入 SharePoint 列表,如下所示:

var ctx = new SP.ClientContext.get_current();

var list = web.get_lists().getByTitle("Custom List");
var listCreationInformation = new SP.ListItemCreationInformation();
var listItem = list.addItem(listCreationInformation);

// Get user keys.
var keys = peoplePicker.GetAllUserKeys();
var finalusers = new Array();
for (var i = 0; i < users.length; i++) {
var arrayuser = users[i];
finalusers.push(SP.FieldUserValue.fromUser(arrayuser.Key));
}
listItem.set_item("PeopleColumnInternalName", finalusers);
listItem.update();
ctx.load(listItem);

ctx.executeQueryAsync(function(){
console.log("inserted successfully");
}, function(){
console.log("something went wrong");
});

因此,您可以按如下所示修改您的代码。替换为您的列表名称和用户列的内部名称:

function getUserInfo(PeoplepickerId) {  
var UsersID="";
var peoplePicker = this.SPClientPeoplePicker.SPClientPeoplePickerDict[PeoplepickerId + "_TopSpan"];

if (peoplePicker.HasInputError) return false; // if any error
else if (!peoplePicker.HasResolvedUsers()) return false; // if any invalid users
else if (peoplePicker.TotalUserCount > 0) {
// Get information about all users.
var users = peoplePicker.GetAllUserInfo();
//var userInfo = '';
//var promise = '';
for (var i = 0; i < users.length; i++) {
UsersID += users[i].DisplayText + "\n";
UsersID += users[i].EntityData.Email;
}

//insert data to sharepoint
var ctx = new SP.ClientContext.get_current();

var list = web.get_lists().getByTitle("Custom List");
var listCreationInformation = new SP.ListItemCreationInformation();
var listItem = list.addItem(listCreationInformation);

// Get user keys.
var keys = peoplePicker.GetAllUserKeys();
var finalusers = new Array();
for (var i = 0; i < users.length; i++) {
var arryuser = users[i];
finalusers.push(SP.FieldUserValue.fromUser(arryuser.Key));
}
listItem.set_item("PeopleColumnInternalName", finalusers);
listItem.update();
ctx.load(listItem);

ctx.executeQueryAsync(function(){
console.log("inserted successfully");
return UsersID;
}, function(){
console.log("something went wrong");
return UsersID;
});

}
}

关于javascript - 如何使用 javascript 将人员选择器数据 (DisplayText) 添加到类型 'person or group' 的列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48058810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com