我正在使用以下代码创建列表项:
var context = new SP.ClientContext.get_current();
var dfd = $.Deferred();
var targetList = context.get_web().get_lists().getByTitle(listName);
context.load(targetList);
var itemCreateInfo = new SP.ListItemCreationInformation();
var listItem = targetList.addItem(itemCreateInfo);
listItem.set_item("Title", listValues[0].Title);
listItem.set_item("Department", listValues[0].Department);
listItem.set_item("TeamMembers", listValues[0].TeamMembers);
listItem.set_item("Notes", listValues[0].Notes);
listItem.update();
context.executeQueryAsync(
function () {
var id = listItem.get_id();
if (listValues[0].Files.length > 0) {
if (fileCountCheck <= listValues[0].Files.length - 1) {
loopFileUpload(listName, id, listValues, fileCountCheck).then(
function () { },
function (sender, args) {
dfd.reject(sender, args);
} );
}
}
else { dfd.resolve(fileCountCheck); }
},
function (sender, args) { } );
TeamMembers是一个字符串,其中包含在人员选取器中选择的所有用户的用户标识,格式为;#564;#5454;#56;#865;#
如果仅选择一个人,这将起作用。我注意到,当选择了多个用户时,其中许多用户不会保存到列表中。
可能是什么问题?
我更改了传递到用户字段的数据,如下所示:
[TeamMembers
现在具有";#" + this.user1.get_id() + ";#" + this.user1.get_loginName() + ";" + this.user2.get_id() + ";#" + this.user2.get_loginName()
格式的值。
使用最新格式,我可以将所有用户名成功保存到列表中。