我有sharepoint 2016列表表单。它有一个字段,我们必须根据SharePoint组对用户隐藏。到目前为止,我的研究已经表明,编写一个javascript文件将有助于做到这一点。还没起作用。我在NewForm.aspx、EditForm.aspx、NewForm.aspx等上添加了代码--我在SP 2010中也有同样的功能,但2016年的Sharepoint似乎是以不同的方式设计的。
发布于 2019-05-30 15:37:29
有很多方法可以实现这一点,这取决于你的约束是什么。以下免费的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注释中,而不是将其放入行的属性中。但这是另外一个问题。
https://stackoverflow.com/questions/38647901
复制相似问题