SharePoint 2013 新建项目字段自动加载上次保存值
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 }
博文推荐: |
SharePoint 2013 WebPart 管理工具分享[开源] |
基于SharePoint 2013的论坛解决方案[开源] |
SharePoint 2013 学习基础系列入门教程 |
SharePoint 2013 图文开发系列之门教程 |
SharePoint Designer 学习系列入门教程 |
特:如果有SharePoint项目,欢迎邮件联系我,Email:linyu_s@163.com |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具