【问题标题】:How to hide fields from new list item page in MOSS 2007?如何在 MOSS 2007 的新列表项页面中隐藏字段?
【发布时间】:2011-07-13 13:28:23
【问题描述】:

我正在尝试为我们的团队网站设计一个列表,作为我们跟踪组织其他部分的工作请求的地方。

该列表包含其他团队的人员不需要或无法提供相关信息的一些字段。例如,我有一列表示已完成百分比,另一列表示请求在我的团队中分配给谁,依此类推。我不希望任何人在第一次点击“新建”按钮时能够为这些字段中的任何一个输入值。我有什么办法可以隐藏这些特定的字段吗?如果不隐藏,就禁用?

我尝试过的事情:

从这里出发的路线:http://nickgrattan.wordpress.com/2008/12/02/changing-order-hiding-columns-in-new-edit-forms/ 它告诉您启用内容类型管理并允许您隐藏某些列。然而,这完全隐藏了所有菜单中的列。我希望这些列可以由某些特定用户编辑。我想实际使用它们,但让外部用户无法使用它们。

注意:很遗憾,由于公司有关 Intranet 的政策,我用于此任务的工具非常有限。我无法编写任何代码,无法使用 Sharepoint 设计器,无法上传任何第 3 方解决方案,而且我们没有 InfoPath。所以基本上我仅限于 Web 界面和作为网站所有者可以访问的内容。

【问题讨论】:

    标签: sharepoint list sharepoint-2007


    【解决方案1】:

    使用 SPServices http://spservices.codeplex.com/。获取当前登录的用户组(您可以使用 SPServies 来实现),如果用户在受限组中,请执行 javascript 并隐藏/禁用字段。

    您可以使用内容编辑器 webpart 并编写 javascript。这里不需要 SPD。

    更新:

    您可以使用以下功能:

    function DisableField(title){    
    
    var collection = $('td.ms-formbody span').children();
    
    $(collection).each(function(index,object)
    {
        if($(object).attr('title').indexOf(title)>=0)
            {
                $(object).attr('readonly',true);
                $(object).css('background-color','#dcdcdc');
    
            }
    
    });
    
    }
    

    【讨论】:

    • 谢谢!这看起来像是一个很好的库。 Kerry 提出了 javascript,但我将您标记为已接受的答案,因为您提供了指向我可以使用的库的链接。
    • 我找到了一个很好的非 SPD 解决方案来解决我的问题。这里有详细解释:cleverworkarounds.com/2008/02/07/… 像魅力一样工作!
    【解决方案2】:

    在我看来,仍然不能完全满足您的需求的唯一选择是在内容编辑器 webpart 中使用 javascript 来隐藏这些字段。但是,任何知道自己在做什么的人都可以使用浏览器内的控制台再次显示它们。

    您可以使用对象模型将字段的“以新形式显示”选项设置为 false,但这不包括向某些用户显示。

    要真正只为某些用户显示列并防止其他人使用 JS 更改页面并再次启用它们,您可能需要制作自己的 ListFieldIterator 控件...

    【讨论】:

    • Javascript 对我来说似乎是最好的选择。感谢您的帮助!
    【解决方案3】:

    我找到了一个解决方法,虽然不完美,但效果很好。如上所述,使用我采用的初始方法,我将不希望其他用户看到的字段设置为隐藏。它们无法以任何形式看到,也无法通过默认视图以任何方式访问。然后我创建了一个新的“管理员”视图,它是一个数据表视图并启用了所有列。所以现在我可以在基于数据表的视图中查看和编辑所有字段,但它们不会出现在新项目表单中!万岁!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      相关资源
      最近更新 更多