我有sharepoint 2016 List表格。它有一个我们必须根据SharePoint组向用户隐藏的字段。 到目前为止,我的研究表明,编写一个有助于实现这一目标的javascript文件。它还没有奏效。我在NewForm.aspx,EditForm.aspx,NewForm.aspx等上添加了代码 我在SP 2010中也有同样的事情,但似乎2016 Sharepoint的设计方式不同。
答案 0 :(得分:0)
有多种方法可以实现此目标,这取决于您的约束条件。以下免费软件github代码解决方案在SharePoint 2016上的Prem上以新的,自定义列表的显示和编辑形式对我非常有用。这很容易实现,并且第一次没有问题就可以解决:
您只需要在列表列表中包含jQuery,作者的js文件,然后添加此js片段
$(document).ready(function(){
ExecuteOrDelayUntilScriptLoaded(function(){
Lozzi.Fields.hideWithAllowance("Start Date", ["Project Managers"]);
Lozzi.Fields.hide("% Complete");
Lozzi.Fields.show("Title");
},"sp.js");
});
该库中还有其他几个功能,可以使用权限禁用和禁用。
我又走了一步,并使用CSS隐藏了字段,因此即使js不运行,这些字段也仍然被隐藏:
table .ms-formtable > tbody > tr:not(#idAttachmentsRow)
{
display:none;
}
但是随后您需要.show()
不受权限限制的任何字段,或者使CSS选择器更加精确,这很困难,因为SharePoint将字段名称隐藏在内部HTML注释中,而不是将其放在属性中该行。但这是单独的问题。