SharePoint列表,以编辑形式显示计算字段

时间:2014-04-04 05:42:04

标签: javascript sharepoint

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

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

如何在编辑表单中将其显示为只读?这样编辑条目的用户总能看到他/她正在编辑哪个条目?

我不认为我可以编辑EditForm,因为它受网站管理员的限制。 我可以访问内容编辑器Web部件来编辑一些JavaScript代码。 有什么建议?

1 个答案:

答案 0 :(得分:0)

我尝试将以下代码放在内容编辑器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>