zoukankan      html  css  js  c++  java
  • SharePoint 2013 新建项目字段自动加载上次保存值

      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 }
  • 相关阅读:
    时间戳转换
    DIV背景半透明文字不半透明的样式
    转 JavaScript中判断对象类型的种种方法
    AllJoyn 了解
    Oracle 跨库 查询 复制表数据
    SQL Server 跨数据库查询
    Jersey RESTful Web服务
    【项目管理】项目启动阶段 -- 制定项目章程
    多项目同时进行如何做好进度管理?
    svn版本管理
  • 原文地址:https://www.cnblogs.com/jianyus/p/4239406.html
Copyright © 2011-2022 走看看