Yoav
Yoav

Reputation: 1029

SharePoint 2010 error on ECMA get_item

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

Answers (1)

Vadim Gremyachev
Vadim Gremyachev

Reputation: 59338

How to set Required property for field via CSOM

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());
      }
);

How to delete field from List via CSOM

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

Related Questions