gpt4 book ai didi

javascript - 如何通过单击列表中的超链接来获取 Sharepoint 列表行 ID?

转载 作者:行者123 更新时间:2023-12-03 03:08:46 25 4
gpt4 key购买 nike

我有一个共享点列表,用户可以在其中创建新项目。有时,用户创建非常相似的项目,因此他们要求我创建一个选项,将现有项目的数据复制到新项目表单并自动填充(唯一/自动生成的字段除外)。因此他们只需修改少量输入即可创建新项目。

我添加了一个新列,并使用超链接自动填充到新项目表单(文本:“复制”),但我不知道如何获取单击的超链接行的 rowindexid 或任何唯一字段值并将其带入到下一页。如果我能做到这一点,我就可以轻松地在列表中搜索并填写新表格。遗憾的是,我对 JavaScript 很陌生,所以即使经过几个小时的研究,我也不知道如何解决这个问题,所以请帮我一把。非常感谢您的任何想法!

最佳答案

由于您的原始问题中未提及,因此我假设您正在使用 SharePoint 2013+。

首先,我将向字段列表添加一个查找列。这将允许他们选择要复制的项目。您将需要获取该元素以及页面中所有其他输入元素的 ID。在我的演示中,我将它们放入一个对象中。您可以使用开发人员工具(IE 中的 F12 或 chrome 中的 Ctrl+Shift+i)。

var idsAndNames = {
"fieldName":"id of field",
....
}

接下来创建一个函数来读取该项目的数据并将其添加到表单中。对于下面的代码,我使用的是 Rest API。您还可以使用 SharePoint 的 CSOM。

function addData(e) {
var opt = e.target.options[e.target.selectedIndex];
var idOfItem = opt.value;
$.ajax({
url: path/to/list/_api/lists/getByTitle('<name of list>')/items(idOfItem),
type: "GET",
headers: { "Accept": "application/json;odata=verbose" },
success: function (data, textStatus, xhr) {
for (var key in idsAndNames){
$(idsAndNames[key]).html(data.d[key]);
}
},
error: function (data, textStatus, xhr) {
alert('failed to get data');
}
});
}

最后添加一个事件监听器,以便在用户选择不同的项目时进行更改。

$(idOfSelect).on('change', addData);

document.getElementById(idOfSelect).addEventListener('change', addData)

或者使用 ES6

document.querySelector(#idOfSelect).addEventListener('change',()=>addData(data));

关于javascript - 如何通过单击列表中的超链接来获取 Sharepoint 列表行 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47039296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com