ECMA get_item上的SharePoint 2010错误

时间:2014-03-11 10:12:46

标签: javascript sharepoint

我正在尝试检索列表的“描述”字段。这是SharePoint创建的默认字段,我无法删除或不需要它。 连接正常。

我的代码:

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

然后:

function onQuerySucceeded(sender,args)
{
var listItemEnumerator = collListItem.getEnumerator();

 while (listItemEnumerator.moveNext()) 
 {
   var oListItem = listItemEnumerator.get_current(); 
   alert(oListItem.get_item('Description'));
 }
}

1 个答案:

答案 0 :(得分:1)

如何通过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());
      }
);

如何通过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());
      }
);