SharePoint 2013 新建项目字段自动加载上次保存值

简介:   1、点击进入NewForm.aspx页面,编辑页面,插入Script Editor WebPart,如下图:   2、插入后如下图,拖动AutoRecord WebPart到脚本编辑器上面,防止因为加载顺序的问题无法找到页面上的DOM;   3、在脚本编辑器中添加脚本的外部引用,和需...

  1、点击进入NewForm.aspx页面,编辑页面,插入Script Editor WebPart,如下图:

clip_image001

  2、插入后如下图,拖动AutoRecord WebPart到脚本编辑器上面,防止因为加载顺序的问题无法找到页面上的DOM;

clip_image002

  3、在脚本编辑器中添加脚本的外部引用,和需要执行的方法,如下图:

clip_image003

  4、去引用的外部脚本中,编写我们的脚本,如下图:

  原理就是用脚本在现有的Save按钮前添加一个新的Save按钮,同时隐藏掉默认的,新按钮的功能就是将要保存的字段值写到Cookie里面,并执行旧按钮的保存事件;

clip_image004

  5、新建一个记录,点击我们新加入的按钮“Save2”来保存,如下图:

clip_image005

  6、保存以后的效果,如下图:

clip_image006

  7、再次新建项目,会自动从Cookie中读取到值,然后赋值给Title字段,如下图:

clip_image007

  8、测试成功以后,接下来的工作就是在脚本中修改,隐藏掉Save按钮,把Save2按钮的名字改成Save,即可完成工作,最终效果如下图:

clip_image008

总结

  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 }

 

目录
相关文章
|
缓存
idea更改默认缓存位置步骤
在idea使用中,会产生大量的缓存,一般默认存放在C盘里面,会加大C盘的储存负担,如果C盘足够大,可以不考虑更改idea的缓存位置
2449 0
idea更改默认缓存位置步骤
|
7月前
如何批量重命名,把文件(夹)名的内容位置调整(前后移动)
该文介绍了如何使用一个工具批量修改文件名,将&quot;中文[数字]&quot;格式改为&quot;中文 - 数字&quot;。首先,从提供的百度网盘或蓝奏云链接下载工具,使用提取码获取。接着,在工具中选择文件批量复制模块,通过拖放或导入按钮添加文件或文件夹。然后,设置两个规则:一个提取中文(2个字符),另一个提取数字(20个字符)。预览无误后,选择方案3,以自定义内容(&quot;规则1 空格-空格 规则2&quot;)重命名,并确保关联到之前创建的规则。最后,执行重命名操作,查看结果,文件名应已按预期更改。
|
7月前
|
安全
复制粘贴Excel文件后,显示“安全警告 宏已被禁用”,复制后得到的文件看不到内容
问题 系统:Win10 Excel版本:2016 我将一个原本正常的Excel文件复制到另一个文件夹后,打开就提示安全警告 宏已被禁用(复制操作时电脑莫名会变卡),而且原来文件里的数据也看不到了。 复制前的原文件:
85 0
无法导入.reg:指定的文件不是注册脚本。你在注册表编辑器中只能导...解决办法(非常实用)
无法导入.reg:指定的文件不是注册脚本。你在注册表编辑器中只能导...解决办法(非常实用)
idea 修改创建文件默认样式、自动设置作者信息和时间
idea 修改创建文件默认样式、自动设置作者信息和时间
634 0
idea 修改创建文件默认样式、自动设置作者信息和时间
IntelliJ IDEA - 设置自动保存时间 / 提示未保存的星号 (*)
IntelliJ IDEA - 设置自动保存时间 / 提示未保存的星号 (*)
1406 0
IntelliJ IDEA - 设置自动保存时间 / 提示未保存的星号 (*)
win7,如何把文件夹和文件,视图改成平铺,默认是列表
win7,如何把文件夹和文件,视图改成平铺,默认是列表
173 0