I need to have my SharePoint Add-In create a list item. I got the function from the OfficeDev Github site here. When I call the function it fails at the line where "this" first appears.
The error is: Unable to set property 'oListItem' of undefined or null reference
// line calling the function
createDELListItem(document.getElementById("resultpanel"), uniqueID, "MTD_On_Demand");
// function
function createDELListItem(resultpanel, extractionID, extractionType) {
var clientContext;
var oWebsite;
var oList;
var itemCreateInfo;
clientContext = new SP.ClientContext.get_current();
oWebsite = clientContext.get_web();
oList = oWebsite.get_lists().getByTitle("Global_Variable_Store");
itemCreateInfo = new SP.ListItemCreationInformation();
// Line throwing the "null or undefined" error
this.oListItem = oList.addItem(itemCreateInfo);
//A guid to send with message that uniquely identifies the list item.
this.oListItem.set_item("ExtractionID", extractionID);
//A brief title (description) of the variable set here in this list item.
this.oListItem.set_item("Extraction Type", extractionType);
//The Variable name
this.oListItem.set_item("StartTime", convertThisDate);
//The process descriptor that set the variable. This is set by the code.
this.oListItem.update();
clientContext.load(this.oListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this, successHandler),
Function.createDelegate(this, errorHandler)
);
function successHandler() {
resultpanel.innerHTML = "Go to the <a href='../Lists/Global_Variable_Store'>list</a> to see your new item.";
}
function errorHandler() {
resultpanel.innerHTML = "Request failed: " + arguments[1].get_message();
}
}
It seems
this
is undefined in your case, i would avoid using thethis
keyword by replacing the function for creating a list item with:Usage