2014-02-13 69 views
0

我无法在使用javascript的SharePoint列表中添加365天(日期格式:01/01/2014)年。 ,但是当我输入'for'loop = 250的范围时它正在更新列表。 请参阅下面的代码。使用javascript将250多个项目插入到SharePoint列表中

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

回答

0

日期必须特别格式化。在SharepointPlus中,我创建了一个将JavaScript日期转换为Sharepoint格式的函数。 格式应该是:“年 - 月 - 日时:分:秒”。所以,“2012年10月31日”必须是“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:我再次阅读您的问题,但我不确定自己的理解是否正确...如果不是,请尝试再次解释您的问题。

+0

感谢您的回复,我唯一面临的问题是关于'for'循环范围。当我为(i = 1; i <= 250; i ++)提供'for'循环时,日期被插入到列表中。但是,如果我将范围扩大到365,即对于(i = 1; i <= 365; i ++),脚本无法更新列表。 – Rooney

+0

也许这是一个请求的数据太多。使用SharepointPlus,我将每个数据分成15个块。因此,一个AJAX请求可以完成15个项目的插入。在你的情况下,这意味着将发送25个请求。尝试安装Firefox + Firebug以查看发送给服务器的请求以及由此返回的错误。这可能是原因。如果250是正确的,那么你将不得不分裂你的添加:一个请求从1到250,另一个请求从251到365。 – AymKdn

相关问题