用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就可以了


原文地址:https://www.cnblogs.com/ycc/p/1413059.html