一般情况下对IT管理者来说,在SharePointFarm中维护Feature,更喜欢使用命令行实现,这样可以省去登录到具体站点的操作。比如IT接到enduser的一个需求,要开启SiteCollectionFeature,如果直接操作......
2023-01-12
1、点击进入NewForm.aspx页面,编辑页面,插入Script Editor WebPart,如下图:
2、插入后如下图,拖动AutoRecord WebPart到脚本编辑器上面,防止因为加载顺序的问题无法找到页面上的DOM;
3、在脚本编辑器中添加脚本的外部引用,和需要执行的方法,如下图:
4、去引用的外部脚本中,编写我们的脚本,如下图:
原理就是用脚本在现有的Save按钮前添加一个新的Save按钮,同时隐藏掉默认的,新按钮的功能就是将要保存的字段值写到Cookie里面,并执行旧按钮的保存事件;
5、新建一个记录,点击我们新加入的按钮“Save2”来保存,如下图:
6、保存以后的效果,如下图:
7、再次新建项目,会自动从Cookie中读取到值,然后赋值给Title字段,如下图:
8、测试成功以后,接下来的工作就是在脚本中修改,隐藏掉Save按钮,把Save2按钮的名字改成Save,即可完成工作,最终效果如下图:
总结
SharePoint中脚本的应用是非常灵活的,当然QQ群里讨论的时候,还有朋友说可以写到后台中,用Ajax去处理,也都是不错的建议;
本文介绍的是最简单的字段,也就是单行文本字段;如果遇到下拉框等特殊的字段,可以参考本文处理,不过不一定适用于所有情况;
好了,就到这里,休息。。休息一下。。
附完整脚本
1 var CookieName = "TitleField";
2 var FieldId = "Title_fa564e0f-0c70-4ab9-b863-0177e6ddd247_$TextField";
3 var BtnId = "ctl00_ctl38_g_ea9475eb_d286_4078_99f1_24eff0577987_ctl00_toolBarTbl_RightRptControls_ctl00_ctl00_diidIOSaveItem";
4
5 function GetCookie()
6 {
7 try
8 {
9 var arr,reg = new RegExp("(^| )" + CookieName + "=([^;]*)(;|$)");
10
11 if(arr = document.cookie.match(reg))
12 {
13 document.getElementById(FieldId).value = unescape(arr[2]);
14 return unescape(arr[2]);
15 }
16 else
17 {
18 return null;
19 }
20 }
21 catch(ex){}
22 }
23
24 function SetCookie()
25 {
26 var value = document.getElementById(FieldId).value;
27 var Days = 30;
28 var exp = new Date();
29 exp.setTime(exp.getTime() + Days*24*60*60*1000);
30 document.cookie = CookieName + "=" + escape (value) + ";expires=" + exp.toGMTString();
31 var btn = document.getElementById(BtnId);
32 btn.click();
33 }
34
35 function BindSaveButton()
36 {
37 var newBtn = "<input type='button' onclick='SetCookie()' value='Save'></input>";
38 var btn = document.getElementById(BtnId);
39 btn.outerHTML = newBtn + "<span style='display:none;'>" +btn.outerHTML + "</span>";
40 }
相关文章
一般情况下对IT管理者来说,在SharePointFarm中维护Feature,更喜欢使用命令行实现,这样可以省去登录到具体站点的操作。比如IT接到enduser的一个需求,要开启SiteCollectionFeature,如果直接操作......
2023-01-12
我们经常会在SharePoint网站集的权限列表中看到某个user有LimitedAccessPermission,但是我们都知道或者试过,在SharePointsitecollection中没有办法直接添加user赋予LimitedAccess权限,并且LimitedAccess这个......
2023-01-12
在这样的场景下,比如统计员工的个人信息,IT会在SharePoint中新建list,加一些需要填写的栏位,然后让公司员工登录填写。这时候比起大家都能看到彼此信息而言,从公司角度更想让员工只能......
2023-01-12
大多数企业使用SharePoint文档库时,都会建议EndUser在编辑文档前先做CheckOut动作,这样可以保证文档在当前用户编辑过程中,其他人只能view而不能edit,防止多人同时修改同一文件互相影响的......
2023-01-12
为了记录SharePointLibrary/List中file/Item的修改情况,ITAdministrator会在List/Library的VersionSettings中开启Version管控设置。之后用户每次编辑item/file保存就会生成一个新的version记录,这样我们就会知道......
2023-01-12