Xpages - Добавление тега привязки к столбцу в представлении Notes
Я хочу добавить ссылку в столбец в Notesview, я видел пример в searchdomino, когда я пытался, но он завершился неудачно с ошибкой "Оператор или точка с запятой ожидались, но ни одна не была обнаружена", все остальные попытки оказываются неудачными.
Ниже приведен пример из searchdomino:
<a href='#'
onClick="window.open('/"+@WebDbName+"/Employee/"+@Text(@DocumentUniqueID)+"?deleteDocument ','_new');window.location.reload()">Delete</a>
С ошибкой:
An operator or semicolon was expected but none was encountered
Я смог устранить ошибку, выполнив следующее, но не смог вызвать событие onclick.
"<a href='#' onClick='window.open'>" + "/"+@WebDbName+"/employee.xsp?action=openDocument&documentId="+@Text(@DocumentUniqueID) + "</a>"
Ваш вклад будет оценен.
Вставка значений столбца notesview в html-таблицу, пример кода:
if(entryData[j].getAttribute("columnnumber") == "1") {
var xpageName = "page.xsp";
var sURL = strURL[0] + ".nsf/" + xpageName + "?documentId=" + viewEntry[i].getAttribute("unid") + "&action=editDocument";
result += "<tr> ";
if(entryData[j].childNodes[1].childNodes.length == 0) {
result += "<td><a href='" + sURL + "'>(NO_VALUE)</a></td>"
} else {
result += "<td><a href='" + sURL + "'>" + entryData[j].childNodes[1].childNodes[0].nodeValue + "</a></td>"
}
} else {
if(entryData[j].childNodes[1].childNodes.length == 0) {
result += "<td> </td>"
} else {
result += "<td>" + entryData[j].childNodes[1].childNodes[0].nodeValue + "</td>"
}
}
2 ответа
У вас есть три уровня цитирования, поэтому я думаю, что это то, что вам нужно:
{<a href='#' onClick="window.open('/} + @WebDbName + {/Employee/} +@Text(@DocumentUniqueID)+ {?deleteDocument ','_new');window.location.reload()">Delete</a>}
То есть, это использует...
- {} для цитирования значения строки формулы
- " " для цитирования значения атрибута onClick внутри значения строки формулы
- ' ' для цитирования значений аргумента window.open внутри значения атрибута onClick внутри значения строки формулы.
Если вы посмотрите на генерируемый вами HTML-код, то увидите, что вы не передаете никаких аргументов в window.open. Ваш код:
"<a href='#' onClick='window.open'>" + "/"+@WebDbName+"/employee.xsp?action=openDocument&documentId="+@Text(@DocumentUniqueID) + "</a>"
Это сделало бы что-то вроде этого:
<a href='#' onClick='window.open'>/database.nsf/employee.xsp?action=openDocument&documentId=26176F6E8AC2362E3</a>
Вам нужно переместить URL-адрес в событие onClick, например:
<a href='#' onClick='window.open("/database.nsf/employee.xsp?action=openDocument&documentId=26176F6E8AC2362E3")'>Click this link</a>
Или почему не только это: Нажмите на эту ссылку