sharepoint 2010.在代码中包含所有项目显示表单的javascript

时间:2011-09-20 09:31:06

标签: javascript sharepoint sharepoint-2010

我有javascript可以隐藏sharepoint显示表单中的空字段。 http://sharepointjavascript.wordpress.com/2009/10/15/hide-empty-rows-in-dispform/

我需要以编程方式将此javascript添加到所有显示表单中。 我不知道该怎么做。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

.each循环遍历与特定选择器匹配的所有元素。如果下面的代码不够,请更改选择器("td.ms-formbody"),以便匹配所需的元素。

$("td.ms-formbody").each(function(){ /* Should walk through all elements */
var val = $(this).text().replace(/\s|\xA0/g,'');
    if($(this).parents().html().match('FieldName="#H#')==null){
        if(val.length==0){
            $(this).parents('tr:first').hide();
        }
    }
});

如果您仍然卡住,请提供您的HTML代码,以便提供更具体的答案。

答案 1 :(得分:1)

您可以添加自定义模板文件,覆盖普通的DefaultTemplates.ascx(在ControlTemplates下)。

  1. 创建_NewTemplates.ascx文件(空)。它也应该在ControlTemplates下
  2. 复制原始ASCX中的所有注册内容
  3. 添加从DefaultTemplates.ascx复制的ListForm模板(您可能需要添加更多模板,具体取决于您要支持的列表类型)
  4. 现在编辑渲染模板以添加JS

    < SharePoint:RenderingTemplate ID =“ListForm”runat =“server”“>

    <模板>

    - >在这里添加您的代码

    < script language =“javascript”>添加函数或挂钩内部JS文件< / script>

    - >从这一点继续原始标记

    保存文件并运行IISRESET,就是它