Reputation: 1029
I'm trying to retrieve the 'Description' field of a list. This is a default field created by SharePoint that I cannot delete or make it not-required. The connection works fine.
My Code:
function getCoursesToDelete()
{
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('CoursesToDelete');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<GetListItems><Query /><ViewFields><FieldRef Name="Description" /> </ViewFields><QueryOptions /></GetListItems>');
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
and then:
function onQuerySucceeded(sender,args)
{
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext())
{
var oListItem = listItemEnumerator.get_current();
alert(oListItem.get_item('Description'));
}
}
Upvotes: 0
Views: 268
Reputation: 59338
var context = new SP.ClientContext(siteUrl);
var list = context.get_web().get_lists().getByTitle(listTitle);
var field = list.get_fields().getByInternalNameOrTitle(fieldName);
field.set_required(false);
field.update();
context.executeQueryAsync(
function() {
console.log('Field has been set as optional');
},
function (sender, args) {
console.log(args.get_message());
}
);
var context = new SP.ClientContext(siteUrl);
var list = context.get_web().get_lists().getByTitle(listTitle);
var field = list.get_fields().getByInternalNameOrTitle(fieldName);
field.deleteObject();
context.executeQueryAsync(
function() {
console.log('Field has been deleted from a List');
},
function (sender, args) {
console.log(args.get_message());
}
);
Upvotes: 1