obj.onclick= function() {
  b('d',this);
}

解决方案 »

  1.   

    另外提醒下,IE才把name当id用,所以你这么写在其他浏览器里会挂的。推荐做法是给form加上ID
      

  2.   

    IE8  测试LZ代码没什么问题
      

  3.   

    代码是没问题,但是没有达到我的要求,第一次弹出来的是<input onclick=a(this); type=button value=button>
    但是以后点的时候就只会是<input  type=button value=button>
    而没有onclick及方法,我想要有的.
      

  4.   

    看看这样可行?
    <script> 
    function a(obj){ 
    alert(document.getElementById("name").innerHTML); 
    obj.outerHTML =obj.outerHTML.replace("a(this)","b('d',this)")
    //obj.onclick=Function("b('d',this)"); 

    function b(c,d){ 
    alert(document.getElementById("name").innerHTML); 

    </script> 
    <html> 
    <body> 
    <form name="name" post="#"> 
    <input type=button value="button" onclick="a(this);"> 
    </form> 
    </body> 
    </html> 
      

  5.   

    好吧我理解错你的题意了。这样写法在其他浏览器里都是有的,除了IE。
    同样试了obj.setAttribute("onclick", "b('d',this);", 0); 其他浏览器都能行得通,IE则挂了。
    没别的招了,等高手吧
      

  6.   

    function a(obj){
    alert(document.getElementById("name").innerHTML);
    obj.onclick=function(){
    b('d',this);
    };