首页 > 解决方案 > 需要 JS 代码将特定文件名更改为与页面上的列表项关联的链接中的不同文件名

问题描述

我有一个查找页面,其中包含一个用户列表和一个链接,该链接与那些实际上将在 Excel 文档中搜索电子表格中出现其姓名的用户相关联。如果有人关心,该电子表格是 RACI 电子表格。

我需要查找三个不同的 RACI 电子表格,而不是将三个变量添加到 SP 列表中,我想使用 JS 更改显示链接的计算字段中的文件名,以便为给定页面使用不同的文件名.

示例将链接从

href="https://xxxx.gov/hc/teams/MES/_vti_bin/ExcelRest.aspx/MMIS/ MMIS DDI RACI.xlsx /model/Ranges('SearchedRACI')?$format=html&Ranges(%27NameFilter%27) =Hamtgmes, Abbey M">见 RACI

href="https://xxxx.gov/hc/teams/MES/_vti_bin/ExcelRest.aspx/MMIS/MMIS%20Maintenance%20and%20Operation%20RACI.xlsm /model/Ranges(' SearchedRACI ')?$format=html&Ranges (%27NameFilter%27)=Hamtgmes,修道院 M">参见 RACI

显示大约 10 条左右的记录,当用户在此列表中移动时(可能有数百条记录,用户使用箭头在列表中“翻页”),每次刷新数据时我都需要更新链接.

先感谢您。

标签: javascripthyperlinksharepoint-2013

解决方案


根据您的描述,您正试图根据显示列表视图 Web 部件的页面更改在计算列中创建的超链接。

尝试在您的计算列中使用此公式,返回数据类型为数字。这将允许呈现 HTML。此外,请务必更新“pageA.aspx”、fileURL 和文件链接占位符。

计算列公式:

="<img src='/_layouts/images/blank.gif' onload=""{"&"var url = _spPageContextInfo.serverRequestPath.split('/');"&"var page = url[url.length - 1];"&"var link = '';"&"if (page === 'pageA.aspx') {link = '<a href=\'fileURL\'>File Link</a>'}"&"if (page === 'pageB.aspx') {link = '<a href=\'fileURL\'>File Link</a>'}"&"if (page === 'pageC.aspx') {link = '<a href=\'fileURL\'>File Link</a>'}"&"this.parentNode.innerHTML= link;"&"}"">"

推荐阅读