[英]SharePoint 2007 and Javascript/JSQuery/SPServices - Loop through list and update each item
[英]Create and Update a List Item with Javascript in Sharepoint
您好,我是初學者,我嘗試創建/更新帶有條件的 Javascript 的 SP 列表。 如果當前用戶 email 的列表條目存在,那么我將只更新字段位置,否則我將添加一個新條目。 請你幫助我好嗎
function createUpdateListItem() {
var siteUrl = 'https://........';
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('MyList');
var currentuserID = currentUser.get_email();
var e = document.getElementById("choice");
var stdort = e.options[e.selectedIndex].text;
var user = oList.get_item('Email');
if (user === currentuserID) {
var listItem = list.getItem('Email');
listItem.set_item('Location', stdort);
listItem.update();
clientContext.executeQueryAsync(Function.createDelegate(this,
this.onQuerySucceededUpdate), Function.createDelegate(this, this.onQueryFailedUpdate)
);
}
function onQuerySucceededUpdate() { alert('Item updated successfully !');
}
function onQueryFailedUpdate(sender, args) { alert('Could not able to update item: ' + args.get_message());
}
}
if user != currentuserID {
var itemCreateInfo = new SP.ListItemCreationInformation();
var oListItem = oList.addItem(itemCreateInfo);
oListItem.set_item('Employee', currentUser.get_title());
oListItem.set_item('Email', currentUser.get_email());
oListItem.set_item('Location', stdort);
oListItem.update();
clientContext.load(oListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this, this.onQuerySucceededCreate),
Function.createDelegate(this, this.onQueryFailedCreate)
);
}
function onQuerySucceededCreate() { alert('Item created: ' + oListItem.get_id());
}
function onQueryFailedCreate(sender, args) { alert('Request failed. ' + args.get_message() +
'\n' + args.get_stackTrace());
}
}
如果我創建單獨的函數作為示例只創建然后它工作,但我需要創建或更新列表條目
首先,請檢查您的代碼中的 {} 是否正確配對,例如“if user,= currentuserID”不在 function 中,然后。 請把if語句的條件寫在()中。
以下是創建和更新列表的示例,您可以參考:
function retrieveListItems(siteUrl) {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('List Name');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' + '<Value Type=\'Number\'>1</Value></Geq></Where></Query>' + '<RowLimit>10</RowLimit></View>'
);
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this, function(){
var listItemEnumerator = collListItem.getEnumerator();
var listItemInfo="";
while (listItemEnumerator.moveNext()) {
var olistitem = listItemEnumerator.get_current();
listItemInfo +=olistitem.get_item('Title');
if(listItemInfo =="fff"){
this.oListItem = oList.getItemById(olistitem.get_id());
oListItem.set_item('Title', 'ccc');
oListItem.update();
clientContext.executeQueryAsync(onsuccessUpdate, onQueryFailed);
}
else if(listItemInfo !="fff") {
var itemCreateInfo = new SP.ListItemCreationInformation();
this.oListItem = oList.addItem(itemCreateInfo);
oListItem.set_item('Title', 'fff');
oListItem.update();
clientContext.load(oListItem);
clientContext.executeQueryAsync(onsuccessCreate, onQueryFailed);
}
break;
}
})
); } function onsuccessCreate() {alert('Item created: ' + oListItem.get_id());} function onsuccessUpdate() {alert('Item updated!');} function onQueryFailed(sender, args) {alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());}
function retrieveListItems(siteUrl) { var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext.get_web().get_lists().getByTitle('Lista'); var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml( '<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' + '<Value Type=\'Number\'>1</Value></Geq></Where></Query>' + '<RowLimit>10</RowLimit></View>' ); this.collListItem = oList.getItems(camlQuery); clientContext.load(collListItem); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded(sender, args) { var listItemInfo = ''; var listItemEnumerator = collListItem.getEnumerator(); while (listItemEnumerator.moveNext()) { var oListItem = listItemEnumerator.get_current(); listItemInfo += oListItem.get_item('ID'); //'\nBody: ' + oListItem.get_item('Body'); for (var i = 0; i < listItemInfo.length; i++){ if (listItemInfo.split() == 12) { var siteUrl = var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext.get_web().get_lists().getByTitle('List1'); var oListItem = oList.getItemById(12); this.oListItem = oList.getItemById(12); alert("ist gleich 12"); oListItem.set_item('Location', 'blub'); oListItem.update(); clientContext.executeQueryAsync(onQuerySucceess, onQueryFailed); } } alert(listItemInfo.toString());} } function onQuerySucceess() { alert('Item updated!'); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.