SharePoint 列表,以编辑窗体显示计算字段

SharePoint List, display calculated field in edit form

本文关键字:显示 计算 字段 窗体 编辑 列表 SharePoint      更新时间:2023-09-26

>我有几个 SharePoint 列表,这些列表有一个计算字段,该字段是根据 ID 字段计算的,例如,如果 ID 为 13,则计算字段为"XX00013",其中"XX"表示此特定列表的用途。

默认情况下,在"显示自"中,将显示此"XX00013"。

如何使其在编辑表单中也显示为只读?以便正在编辑条目的用户始终可以看到他/她正在编辑的条目?

我认为我无法编辑 EditForm,因为它受到网站管理员的限制。我确实有权访问内容编辑器 Web 部件来编辑一些 JavaScript 代码。有什么建议吗?

我尝试将以下代码放在内容编辑器 Web 部件中,该代码已添加到"编辑"页面。到目前为止,它的工作原理是"XX00013"在"编辑"表单中显示为仅就绪。此解决方案只是一个绕行。

一般如何显示计算字段的问题仍然存在。

<script type="text/javascript"> 
function DisplayID(){ 
 var regex = new RegExp("[''?&]"+"ID"+"=([^&#]*)"); 
 var qs = regex.exec(window.location.href); 
 var sID = qs[1];
 var stID="XX";
 var nLength=5-sID.length;
 var i=0;
 do{
  stID=stID.concat("0");
  i++;
 }while (i<nLength) 
 stID=stID.concat(sID);
 var TD1 = document.createElement("TD"); 
 TD1.className = "ms-formlabel"; 
 TD1.innerHTML = "<h3 class='ms-standardheader'>XX_ID</h3>";
 var TD2 = document.createElement("TD"); 
 TD2.className = "ms-formbody"; 
 TD2.innerHTML = stID; 
 var IdRow = document.createElement("TR"); 
 IdRow.appendChild(TD1); 
 IdRow.appendChild(TD2); 
 var ItemBody = GetSelectedElement(document.getElementById("idAttachmentsRow"),"TABLE").getElementsByTagName("TBODY")[0];
 ItemBody.insertBefore(IdRow,ItemBody.firstChild);
}   
_spBodyOnLoadFunctionNames.push("DisplayID");
</script>