您的位置:首页 > Web前端 > JavaScript

SharePoint js操作原生的New/Edit表单

2014-01-03 17:26 405 查看
列表的表单,有个类似的需求:在New需隐藏特定字段,Edit时显示。
默认是New/Edit表单的字段是一样,就算在Content type 是隐藏也是同时影响两个表单。

如何做到仅仅在New时隐藏呢?
思路:在SharePoint Designer中,修改列表的New表单,加入JS,控制CSS属性达到效果。
其中有两点:
1. JS代码段应该放在那里?
2. 怎么定位到字段,代码如何写?

以下方法使用的JQuery库,需要引入js。例子中已经在母版页中引入了。

步骤:
1. 在目标列表中,点击“新建项目”,在Ribbon中点击“编辑页面”,“添加Web部件”,加入“内容编辑器”WebPart,保存页面并退出。



注意:默认新建项目时是弹出层方式,不能编辑页面,所以先改页面方式。在列表设置-->高级设置 中改,如下图:



2.使用SharePoint Designer打开网站,找到目标列表,点开,找到New表单,右键“在高级模式下编辑文件”



3.找到刚添加的“内容编辑器”WebPart,在<Content>节点中间,添加JS代码:



JS参考代码如下:自行引入JQuery库

<![CDATA[<script type="text/javascript">
function GetNodeByInternalName(internalName)
{
var returnVal = null;
$("td.ms-formbody").each(function(){

try{
var patt = new RegExp('FieldInternalName="' + internalName + '"' ,"i");
if(patt.test($(this).html()))
if(returnVal == null)
{
returnVal = $(this);
return false;
}
}
catch (err)
{}
});
return returnVal;
}
$(document).ready(function(){
//隐藏column
GetNodeByInternalName("StartTime").parent().hide();
});
</script>]]>


JS 获取Dom之后,就可以隐藏,禁用,改背景色等。

全文完!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: