SharePoint 2013 新建项目字段自动加载上次保存值
2015-01-21 17:08
465 查看
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去处理,也都是不错的建议;
本文介绍的是最简单的字段,也就是单行文本字段;如果遇到下拉框等特殊的字段,可以参考本文处理,不过不一定适用于所有情况;
好了,就到这里,休息。。休息一下。。
附完整脚本
2、插入后如下图,拖动AutoRecord WebPart到脚本编辑器上面,防止因为加载顺序的问题无法找到页面上的DOM;
3、在脚本编辑器中添加脚本的外部引用,和需要执行的方法,如下图:
4、去引用的外部脚本中,编写我们的脚本,如下图:
原理就是用脚本在现有的Save按钮前添加一个新的Save按钮,同时隐藏掉默认的,新按钮的功能就是将要保存的字段值写到Cookie里面,并执行旧按钮的保存事件;
5、新建一个记录,点击我们新加入的按钮“Save2”来保存,如下图:
6、保存以后的效果,如下图:
7、再次新建项目,会自动从Cookie中读取到值,然后赋值给Title字段,如下图:
8、测试成功以后,接下来的工作就是在脚本中修改,隐藏掉Save按钮,把Save2按钮的名字改成Save,即可完成工作,最终效果如下图:
总结
SharePoint中脚本的应用是非常灵活的,当然QQ群里讨论的时候,还有朋友说可以写到后台中,用Ajax去处理,也都是不错的建议;
本文介绍的是最简单的字段,也就是单行文本字段;如果遇到下拉框等特殊的字段,可以参考本文处理,不过不一定适用于所有情况;
好了,就到这里,休息。。休息一下。。
附完整脚本
var CookieName = "TitleField"; var FieldId = "Title_fa564e0f-0c70-4ab9-b863-0177e6ddd247_$TextField"; var BtnId = "ctl00_ctl38_g_ea9475eb_d286_4078_diidIOSaveItem"; function GetCookie() { try { var arr,reg = new RegExp("(^| )" + CookieName + "=([^;]*)(;|$)"); if(arr = document.cookie.match(reg)) { document.getElementById(FieldId).value = unescape(arr[2]); return unescape(arr[2]); } else { return null; } } catch(ex){} } function SetCookie() { var value = document.getElementById(FieldId).value; var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = CookieName + "=" + escape (value) + ";expires=" + exp.toGMTString(); var btn = document.getElementById(BtnId); btn.click(); } function BindSaveButton() { var newBtn = "<input type='button' onclick='SetCookie()' value='Save'></input>"; var btn = document.getElementById(BtnId); btn.outerHTML = newBtn + "<span style='display:none;'>" +btn.outerHTML + "</span>"; }
相关文章推荐
- SharePoint 2013 新建项目字段自动加载上次保存值
- vs2013新建asp.net web 项目报错,此模板尝试加载组件程序集nuget
- VS2013新建MVC项目时弹出此模板尝试加载组件程序集”NuGet.VisualStudio.Interop,Version=1.0.0.0......." 的解决办法
- vs2013新建文件自动保存为utf-8编码
- 新建项目自动加载butterknife那个东西
- 新建项目自动加载butterknife那个东西
- 用Myeclipse保存时自动编译!不用重新加载项目
- SharePoint 2013 用JavaScript 中客户化Field Type时JSLinkUrl 所指向的客户化JS代码只加载第一遍的问题
- SharePoint:扩展DVWP - 第22部分:jQuery实现基于其他字段自动创建标题
- SharePoint:扩展DVWP - 第23部分:工作流实现基于其他字段自动创建标题
- vs2008 怎么设置创建项目时不要自动保存解决方案
- [SharePoint 2007] VS2008 新建项目--SharePoint模板
- sharepoint 2007和2010 在新建页面隐藏标题字段
- tomcat配置context项目修改时自动加载
- JAVA web项目新建自动文件
- 图学PowerBuilder----去除启动后加载上次项目的方法
- vs2008起始页中不保存上次打开的历史项目
- Extjs列表详细信息窗口新建后自动加载解决方法
- WebForm —— 页面状态自动加载和保存(下)
- 使用Delphi 7 编写一个IE右键菜单项目:自动保存图片