2014-02-13 70 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

相關問題