Reputation: 47
I'm getting display text and email of user but I don't know how to insert it into 'person or group' column.
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;
}
}
Upvotes: 0
Views: 968
Reputation: 2500
You can use JSOM to insert data into your SharePoint list as below:
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");
});
So, you can modify your code somewhat as below. Replace with your list name and the internal name of user column:
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;
});
}
}
Upvotes: 1