Reputation: 58
I want to create a sharepoint task and assign it to myself (current user) wtihin the javascript object model. I have the code below, but I think instead of setting a particular user i need to set a spusercollection object. However, I can't seem to find any examples anywhere of how to do this.
var clientContext = new SP.ClientContext(siteUrl);
var web = clientContext.get_web();
var oList = web.get_lists().getByTitle('Tasks');
var itemCreateInfo = new SP.ListItemCreationInformation();
oListItem = oList.addItem(itemCreateInfo);
oListItem.set_item("Title","My New Item!");
oListItem.set_item("Assigned To", _spPageContextInfo.userLoginName);
oListItem.update();
clientContext.load(oListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this, this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed)
);
Upvotes: 0
Views: 1955
Reputation: 328
You need to do something like below:
<script type="text/ecmascript">
ExecuteOrDelayUntilScriptLoaded(updateUserField, "sp.js");
function updateUserField(){
var ctx = new SP.ClientContext.get_current();
var list = ctx.get_web().get_lists().getByTitle('ListA');
var item = list.getItemById(1);
var assignedToVal = new SP.FieldUserValue();
assignedToVal.set_lookupId(1); //specify User Id
item.set_item("UserField",assignedToVal);
item.update();
ctx.executeQueryAsync(
function() {
console.log('Updated');
},
function(sender,args) {
console.log('An error occurred:' + args.get_message());
}
);
}
</script>
Reference:
Thanks, Jameel
Upvotes: 1