• 用js改变MOSS自带的一些按钮的默认事件


    很多时候我们需要改变MOSS自带的一些按钮的默认事件,比如我自己订制的显示页面点击连接进入到了列表的显示页面DispForm,不过浏览后点击关闭按钮呢他会自动跳转到MOSS的列表的界面,这很不好,所以这种情况我们需要定制MOSS的默认行为了,我自己认为最简单的方式莫过于用脚本来做了。

    拿DispForm的关闭按钮来说,首先到DispForm,然后添加一个内容编辑器web部件


    然后在源编辑器放入我们的脚本

     1<script type="text/javascript">
     2function resetCloseButton(){
     3    var buttons = document.getElementsByTagName("INPUT");
     4    var count = buttons.length;
     5    for(var i = 0; i < count; i++){
     6        var button = buttons[i];
     7        if(button.type.toLowerCase() != "button"){
     8            continue;
     9        }

    10        var id = button.id.toLowerCase();
    11        var l = id.indexOf("goback");
    12        if(l != -1 && l == id.length - 6){
    13            button.onclick = function(){
    14                alert('Reset OK');
    15                return false;
    16            }

    17        }

    18    }

    19}

    20_spBodyOnLoadFunctionNames.push("resetCloseButton");
    21</script>

    写的挺啰嗦,呵呵。有好的框架来整则非常容易了,比如JQuery,用$来找INPUT然后规定id$="GoBack"就应该找到了,然后用.each来做自己的事。。
    _spBodyOnLoadFunctionNames是MOSS提供的脚本,用于页面的onload执行,我们用_spBodyOnLoadFunctionNames.push把自己的东西塞进去就ok了。

     Update: DispForm页面启用编辑的方法:在URL上加一个参数 &DisplayMode=Design就可以了


  • 相关阅读:
    C语言利用按位与、按位或转换大小写字母
    综合布线知识点总结
    C语言 计算阶乘
    C语言位运算符详解
    docker-compose的flask自动部署
    redis集群的布置
    fatal: unable to auto-detect email address (got 'CC@LAPTOP-UPQ1N1VQ.(none)')
    使用ImagesPipeline时候报错为:ModuleNotFoundError: No module named 'scrapy.contrib'
    多任务
    json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (ch
  • 原文地址:https://www.cnblogs.com/ycc/p/1413059.html
Copyright © 2020-2023  润新知