2016-04-22 90 views

回答

0

沒有什麼內置的允許你來完成這件事。但是,如果您顯示自己的界面以創建條目(例如自定義註冊頁面),則可以控制行爲並防止在達到限制後進行註冊。

爲了讓您開始,下面是使用JavaScript對象模型在創建項目之前查詢列表並檢測項目數量的示例。

<input type="button" value="Sign Up Now!" onclick="createItemIfBelowLimit()" /> 
<script> 
function createItemIfBelowLimit(){ 
    var max = 60; 
    var listTitle = "Your List Title"; 
    var clientContext = new SP.ClientContext(); 
    var list = clientContext.get_web().get_lists().getByTitle(listTitle); 
    clientContext.load(list); 
    clientContext.executeQueryAsync(function(){ 
     var itemCount = list.get_itemCount(); 
     if(itemCount < max){ 
      createItem(listTitle,{ 
       "Title":"Example title text", 
       "Body":"Example body text" 
       });   
     }else{ 
      alert("This sign-up list is full. Sorry!"); 
     } 
    },function(sender,args){ 
     alert(args.get_message()); 
    }); 
} 
function createItem(listTitle,values){ 
    var clientContext = new SP.ClientContext(); 
    var list = clientContext.get_web().get_lists().getByTitle(listTitle); 
    var newItem = list.addItem(); 
    for(var key in values){ 
     newItem.set_item(key,values[key]); 
    } 
    newItem.update(); 
    clientContext.load(newItem); 
    var rootFolder = list.get_rootFolder(); // Note: use a list's root folder to determine its server relative URL 
    clientContext.load(rootFolder); 
    clientContext.executeQueryAsync(function(){ 
     var itemId = newItem.get_item("ID"); 
     SP.UI.ModalDialog.showModalDialog(
      { 
       title: "Item #"+itemId+" Created Successfully!", 
       url: rootFolder.get_serverRelativeUrl() + "/DispForm.aspx?ID="+itemId 
      } 
     ); 
    },function(sender,args){ 
     alert(args.get_message()); 
    }); 
} 
</script> 

要使用上述代碼,請首先將其保存到文本文件並將其上載到SharePoint網站上的庫。然後,您可以在您的網站上創建一個頁面,將內容編輯器Web部件添加到該頁面,然後編輯該內容編輯器Web部件的Web部件屬性。在「Content Link」屬性中,粘貼到文本文件的鏈接;這將導致Web部件呈現您的HTML和JavaScript。

如需進一步閱讀,請查閱Microsoft提供的Common Programming Tasks in the JavaScript Object Model文檔。

相關問題