很多时候我们需要改变MOSS自带的一些按钮的默认事件,比如我自己订制的显示页面点击连接进入到了列表的显示页面DispForm,不过浏览后点击关闭按钮呢他会自动跳转到MOSS的列表的界面,这很不好,所以这种情况我们需要定制MOSS的默认行为了,我自己认为最简单的方式莫过于用脚本来做了。
拿DispForm的关闭按钮来说,首先到DispForm,然后添加一个内容编辑器web部件
然后在源编辑器放入我们的脚本
1
<script type="text/javascript">
2
function 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>

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

写的挺啰嗦,呵呵。有好的框架来整则非常容易了,比如JQuery,用$来找INPUT然后规定id$="GoBack"就应该找到了,然后用.each来做自己的事。。
_spBodyOnLoadFunctionNames是MOSS提供的脚本,用于页面的onload执行,我们用_spBodyOnLoadFunctionNames.push把自己的东西塞进去就ok了。
Update: DispForm页面启用编辑的方法:在URL上加一个参数 &DisplayMode=Design就可以了