江湖路
专注AJAX和Moss

先看代码:

代码
 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <title></title>
 5 
 6     <script type="text/javascript">
 7         function test() {
 8             var s = document.getElementById("select1");
 9             s.setAttribute("onchange""show('"+s.value+"');");      
10         }
11         function show(m) {
12             alert(m);
13         }
14     </script>
15 
16 </head>
17 <body onload="test()">
18     <select id="select1">
19         <option value="a">a</option>
20         <option value="b">b</option>
21         <option value="c">c</option>
22     </select>
23 </body>
24 </html>

 

一个普通的ASPX的页面,运行没有任何问题,但是放到WebPart中,你试试,change事件不激发了?

解决的办法有两个:

  1. 在SharePoint的母板页中的最上面加上如下:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

     

  2. 修改JavaScript代码,如下:
    代码
            function test() {
                
    var s = document.getElementById("select1");
                s.onchange 
    = show;
            }
            
    function show() {
                
    var s = window.event.srcElement;
           
                alert(s.value);
            }

     

    原因大家仔细想一想,为什么?

 

posted on 2009-12-04 10:27  wengnet  阅读(1462)  评论(2编辑  收藏  举报