获取由IE捕捉的事件对象,然后获取哪个控件触发
  whichIt = event.srcElement;

解决方案 »

  1.   

    to lixiaoxue85(蛮野蛮)
    不行,这个捕获到的是form的id
    捕获不到是哪个按钮提交的
      

  2.   

    遍历吧。<script language="javascript">
    var form1=document.forms["form1"];
    for(var i=0; i<form1.length; i++){
    if(form1[i].type=="submit"){
    form1[i].onclick = function(){
    alert(this.id);
    }
    }
    }
    </script>
      

  3.   

    在resubmit时应该能检测
    手里没有工具不好测试
    或着你干脆就每个type=submit的都加个onclick事件 (作用是给一个隐藏的input付值这样客户端和服务器端以后都好处理)
      

  4.   

    <form name=frm onsubmit="alert(document.activeElement.outerHTML);" action="http://www.google.com" >
    <input name=a>
    <input name=a>  
    <input name=b1 type=submit value="b1">  <input name=a>  
    <input name=a>  
    <input name=b1 type=submit value="b2">  </form>
      

  5.   

    以上的代码,如果是在后台想知道是哪个submit按钮,直接用request.getParameter("b1");就可以得到按钮里的文字。
    如果submit按扭有name,在提交的时候,会把生效的那个submit按钮提交,
    在上代码,在ie/ff里分别点击两个按钮后,观察一下地址栏,可以看出区别来
      

  6.   

    to jiaxueq(Loading...) ,loulou_ff(髅髅) 
    我在帖子中已经明确的表示不希望在onclick事件中有任何处理,而是希望有其他的途径
      

  7.   

    to JK_10000(JK) 
    多谢,document.activeElement在IE里面是可以的哦
    好像其他浏览器没有这个方法
      

  8.   

    firefox里对应document.activeElement的是event.explicitOriginalTarget
    -------
    <form name=frm onsubmit="alert((document.activeElement||event.explicitOriginalTarget).value);" action="http://www.google.com">
    <input name=a>
    <input name=a>  
    <input name=b1 type=submit value="b1">  <input name=a>  
    <input name=a>  
    <input name=b1 type=submit value="b2">  </form>
      

  9.   

    日后再说~~~~~~~~~~~~~~~~~~~~~~~~~~=============================================================
    惊爆支持ASP、ASP.NET2.0空间500M+SQL数据库100M   特惠价格:128一年 
    http://www.myidc.info/webhost/stylehost.aspx 
    =============================================================
      

  10.   

    if(document.activeElement.id== "btnSave")
    {
    }就是这个  写过这样的代码 所有按钮提交时统一判断 然后根据活动ID来区分
      

  11.   

    晕!!!!!!!! 你把100个提交按钮放到100个不同的FORM里面  用FORM 去识别啊
      

  12.   

    楼主是想解决什么实际问题么?
    如果你是不想手写100次onclick的话,那么在复制一百次type=submit的时候把onclick也顺便一道复制100次不就得了?
      

  13.   

    用event.srcElement
      var t1 = event.srcElement;//得到事件触发元素
      v = t1.value;//得到事件触发元素的值
      i = t1.id;//得到事件触发元素的id
      t = t1.type;//得到事件触发元素的类型
      

  14.   

    为每个提交按钮设置Name属性,然后通过Request["Name"]取值来判断
    其实一般没有必要用那么提交按钮的
      

  15.   

    何必那么复杂呢?
    <script>
    var clickButton;
    </script>
    ....
    <input id="button1" type=submit onclick="clickButton =this">
    <input id="button2" type=submit onclick="clickButton =this">
    .......................
      

  16.   

    如果不想每个按钮的onclick事件里写,可以改为onmousedown="clickButton =this";
    如果不想每个按钮都加这这样的代码
    可以遍历按钮添加事件
    for button in buttons
    {
     button.attachEvent("onclick",clickButton =this);
    }
      

  17.   

    以ie为例,一个页面中,每个元素的sourceIndex都不同,uniqueID也都不同(
    即使100个submit按钮都有相同的name属性以及相同的文字标签)。顺便说一句,即使有100个submit按钮,但实际上默认按钮还是只有一个,你看看网页效果就可以区分出来,默认按钮的边框不一样,在单行文本框里面按回车的时候,相当于点击了那个默认按钮。对于100个submit按钮,如何在程序中区分也非常简单,上面各位朋友说了很多了。
    我再加一个简单的统一识别方法(以ie为例):
    <form ... onclick="s();return false;"> 
    (注意,这里是onclick,不是onsubmit)
    <input type=submit value=b1> 
    ...(b2~b99)...
    <input type=submit value=b100>
    </form>
    <script>
    function s(){
       var o=event.srcElement; if(o.type=="submit"){alert(o.value);}
    }
    </script>
      

  18.   

    JK_10000(JK)的方法可以
    我想要的就是,不需要在每个submit按钮onclick中加东西呵呵,至于用途,目前正在做一个基于ASP.net的Ajax框架,需要在客户端js中把触发提交的submit按钮的值XmlHttp方式post到服务器。考虑到通用性,所以不能在每个submit按钮onclick中加东西