Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在动态生成项目时(使用NAPA),将多个列表项目添加到列表中_Javascript_Sharepoint_Sharepoint 2013 - Fatal编程技术网

Javascript 在动态生成项目时(使用NAPA),将多个列表项目添加到列表中

Javascript 在动态生成项目时(使用NAPA),将多个列表项目添加到列表中,javascript,sharepoint,sharepoint-2013,Javascript,Sharepoint,Sharepoint 2013,我正在使用下面的代码在列表中插入一个项目 function createitem() { var selectListBox = document.getElementById("txtFormName"); var selectedListTitle = selectListBox.value; var selectedList = web.get_lists().getByTitle(selectedListTitle); var listI

我正在使用下面的代码在列表中插入一个项目

    function createitem() {
     var selectListBox = document.getElementById("txtFormName");
     var selectedListTitle = selectListBox.value;
     var selectedList = web.get_lists().getByTitle(selectedListTitle);

     var listItemCreationInfo = new SP.ListItemCreationInformation();
     var newItem = selectedList.addItem(listItemCreationInfo);

     newItem.set_item('Title','abc');
     newItem.update();
     context.load(newItem);
     context.executeQueryAsync(onItemCreationSuccess, onItemCreationFail);
     }
工作正常。现在我想用

    newItem.set_item('Title1','def');
    newItem.set_item('Title2','xyz');
    .
    .
    .
    and so on

同一行中要插入的多个项的循环中。我怎样才能做到这一点。请指导。

由于SharePoint CSOM API支持以下示例,因此演示如何使用对服务器的单个请求创建多个列表项:

function createListItem(context,listTitle,itemProperties)
{
    var web = context.get_web();
    var list = web.get_lists().getByTitle(listTitle);
    var itemCreateInfo = new SP.ListItemCreationInformation();
    var listItem = list.addItem(itemCreateInfo);

    for(var propName in itemProperties) {
       listItem.set_item(propName, itemProperties[propName]) 
    }
    listItem.update();
    return listItem;
}



//Usage
var contactItems = [];
var context = new SP.ClientContext.get_current();
var contactProperties  = {'Title': 'Doe','FirstName': 'John'};

//1.Prepare multiple list items
for(var i = 0; i < 16; i++) {
   var contactItem = createListItem(context,'Contacts',contactProperties);
   contactItems.push(contactItem);
}   
//2. Submit request to the server to create list items
context.executeQueryAsync(
      function() {
          console.log(contactItems.length + ' contacts have been created');        
      },
      function(sender, args) {
        console.log(args.get_message());
      }
   );
函数createListItem(上下文、listTitle、itemProperties)
{
var web=context.get_web();
var list=web.get_list().getByTitle(listTitle);
var itemCreateInfo=new SP.ListItemCreationInformation();
var listItem=list.addItem(itemCreateInfo);
for(itemProperties中的变量propName){
listItem.set_项(propName,itemProperties[propName])
}
update();
返回列表项;
}
//用法
var contactItems=[];
var context=new SP.ClientContext.get_current();
var contactProperties={'Title':'Doe','FirstName':'John'};
//1.准备多个列表项
对于(变量i=0;i<16;i++){
var contactItem=createListItem(上下文,'Contacts',contactProperties);
contactItems.推送(contactItem);
}   
//2. 向服务器提交创建列表项的请求
context.executeQueryAsync(
函数(){
console.log(contactItems.length+“已创建联系人”);
},
函数(发送方,参数){
console.log(args.get_message());
}
);
要点:

  • 列表项创建操作在一次提交中提交到服务器 使用SP.ClientContext.executeQueryAsync方法请求