使用javascript在sharepoint列表中插入250个以上的项目

时间:2014-02-13 12:35:35

标签: javascript sharepoint

我无法使用javascript在sharepoint列表中添加365天(日期格式:01/01/2014)。 但是当我输入'for'love = 250的范围时,它正在更新列表。 请参考以下代码。

function DateIncrement() {
  var siteUrl = '/sites/..';
  var clientContext = new SP.ClientContext(siteUrl);
  var oList = clientContext.get_web().get_lists().getByTitle('Student');
  var itemCreateInfo = new SP.ListItemCreationInformation();

  for (i = 1; i < 365; i++) {
    var myDate = new Date("01/01/2014");
    myDate.setDate(myDate.getDate() + i);
    var str = myDate;
    this.oListItem = oList.addItem(itemCreateInfo);
    oListItem.set_item('Date', str);
    oListItem.update();
  }                 

  clientContext.load(oListItem);
  clientContext.executeQueryAsync(onSucceededCallback, onFailedCallback);

  function onSucceededCallback(sender, args) {            
    alert("Complete");           
  }

  function onFailedCallback(sender, args) {
    alert("Failed");        
  }          
}

1 个答案:

答案 0 :(得分:0)

日期必须经过特殊格式化。在SharepointPlus中,我创建了一个将JavaScript Date转换为Sharepoint格式的函数。 格式应为:“年 - 月 - 日时:分:秒”。因此,对于“31 / Oct / 2012”,它必须是“2012-10-31 00:00:00”。

函数toSPDate看起来像这样:

function toSPDate(oDate) {
  var pad = function(p_str){
    if(p_str.toString().length==1){p_str = '0' + p_str;}
    return p_str;
  };
  var month   = pad(oDate.getMonth()+1);
  var day     = pad(oDate.getDate());
  var year    = oDate.getFullYear();
  var hours   = pad(oDate.getHours());
  var minutes = pad(oDate.getMinutes());
  var seconds = pad(oDate.getSeconds());
  return year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds;
}

注意:SharepointPlus使用Sharepoint Web服务。我不确定您是否需要对Microsoft本机功能执行相同操作。 注2:我再次阅读你的问题,但我不确定我是否正确理解......如果没有,请尝试再次解释你的问题。