Good Morning,
We are currently in the process of recreating our Forms Designer Forms in Plumsail Forms and have come across an issue. As part of the save process we have a function that gets a reference from another list and sets this into a field on the form and then increments this reference and posts it back to the other list. This function works perfectly in the Forms Designer forms, however it does not seem to work in the Plumsail Forms version we get a Security Validation alert from SharePoint and the Update fails
My Code is below assistance please…
fd.spBeforeSave(function() {
setReference();
// Get and Set Quote Reference Number
function setReference () {
var referenceNumber = retrieveQuoteReferenceNumberFromSettingsList();
updateSettingsListItem((Number(referenceNumber) + 1));
debugger;
var reference = padReferenceNumber(referenceNumber)
reference = reference + "-01";
fd.field('Title').value = reference;
}
// Function to Retrieve Next Quote Reference Number from Setting List
function retrieveQuoteReferenceNumberFromSettingsList() {
var quoteNextRef;
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('Settings')/Items?$select=OData__x0069_sd5&$filter=Setting_Name eq 'Quote Next Ref'",
type: "GET",
cache: true,
async: false,
headers: {
"accept": "application/json;odata=verbose",
},
success: function(data) {
for (var i = 0; i < data.d.results.length; i++) {
var item = data.d.results[i];
quoteNextRef = item.OData__x0069_sd5;
}
},
error: function(error) {
alert(error.responseText);
}
});
return quoteNextRef;
}
// Function to Pad Reference leading Zero's
function padReferenceNumber(reference) {
var string = reference.toString();
var len = 4;
if (string.length < len) {
string = ('0000' + string).slice(-len);
}
return string;
}
// Function to Update Settings List with Next Quote Reference Number
function updateSettingsListItem(nextSequenceNumber) {
var SettingsListMetadataType = retrieveListItemType('Settings');
var data = {
"__metadata": { "type": SettingsListMetadataType },
"OData__x0069_sd5":nextSequenceNumber.toString()
};
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('Settings')/items(9)", // list item ID
type: "POST",
data: JSON.stringify(data),
async:false,
headers: {
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"IF-MATCH": "*",
"X-HTTP-Method": "MERGE"
},
success: function(data) {
// alert('Update Success');
},
error: function(error) {
alert(error.responseText);
}
});
}
// Function to Retrieve List Item Type
function retrieveListItemType(listName) {
var listItemType = '';
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('"+listName+"')?$select=ListItemEntityTypeFullName",
type: "GET",
async:false,
headers: {
"accept": "application/json;odata=verbose",
},
success: function(data) {
listItemType=data.d.ListItemEntityTypeFullName;
},
error: function(error) {
alert(error.status+":"+error.statusText);
}
});
return listItemType;
}
});
Thanks