Нужен код JS для изменения определенного имени файла на другое имя файла в ссылке, связанной с элементами списка на странице

#javascript #hyperlink #sharepoint-2013

Вопрос:

У меня есть страница поиска, на которой есть список пользователей и ссылка, связанная с теми пользователями, которые на самом деле будут выполнять поиск в документе Excel для вхождения их имени в электронную таблицу. Электронная таблица-это таблица РАСЫ, если кому-то интересно.

Мне нужен поиск для трех разных электронных таблиц RACI, и вместо добавления трех переменных в список SP я хотел бы использовать JS для изменения имени файла в вычисляемом поле, которое отображает ссылку на использование другого имени файла для данной страницы.

Пример измените ссылку с

href=»https://xxxx.gov/hc/teams/MES/_vti_bin/ExcelRest.aspx/MMIS/MMIS DDI RACI.xlsx/модель/Диапазоны(‘SearchedRACI’)?$формат=html и Диапазоны(‘NameFilter’)=Размеры, «М»>См. RACI

Для

href=»https://xxxx.gov/hc/teams/MES/_vti_bin/ExcelRest.aspx/MMIS/MMIS Maintenance and Operation RACI.xlsm/model/Ranges(‘SearchedRACI’)?$format=htmlamp;Ranges(‘NameFilter’)=Hamtgmes, Аббатство М»>См. РАЧИ

Есть около 10 или около того записей, которые отображаются, и по мере того, как пользователь перемещается по этому списку (их могут быть сотни или записи, и пользователь использует стрелки, чтобы «пролистать» список), мне нужно будет обновлять ссылки каждый раз при обновлении данных.

Заранее спасибо.

Ответ №1:

Основываясь на вашем описании, вы пытаетесь изменить гиперссылку, созданную в вычисляемом столбце, на основе страницы, на которой отображается веб-часть представления списка.

Попробуйте использовать эту формулу в вычисляемом столбце с возвращаемым типом данных числа. Это позволит отображать HTML. Кроме того, не забудьте обновить заполнители «PageA.aspx», «Файл» и «Ссылка на файл».

Формула Вычисляемого Столбца:

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