<html>
<body>
<form>
<script type="text/javascript"> 
function tt(){
alert('asdfasdf');
}
function aaa(){
//alert('-------------');
document.getElementById('t2').value=1;
}
</script>
<form>
<input type="text" onblur="tt();"/><br />
<input id="t2" type="text" /><br />
<input type="text" /><br />
<input type="submit" onclick="aaa();return false;"/>
</form>
</body>
</html>
光标停在第一个text上然后enterie下会触发onblur事件而ff下却没有触发onblur事件   目前认为是browser的兼容问题,有什么办法也让ff也触发onblur事件呢(submit还是要的,不要改成button的)

解决方案 »

  1.   

    我的主要目的是在任意input里enter的时候可以执行onclick事件,用button的话就不能这样了,得在每个inupt里监听onkeypress操作了,这样太累了啊!
      

  2.   

    竟然在google search到自己的帖子了   无语中
      

  3.   

    IE addEvent("onclick",函数名);
    FF addEventListener("onclick",函数名,false)
      

  4.   


    IE 下应该是attachEvent吧see code<html>
    <body>
    <form>
    <script type="text/javascript"> 
    function tt(){
    alert('asdfasdf');
    }
    function aaa(){
    document.getElementById('t2').value=1;
    return false;
    }</script>
    <form>
    <input type="text" onblur="tt();"/><br />
    <input id="t2" type="text" /><br />
    <input type="text" /><br />
    <input id="enter" type="submit" value="submit"/>
    </form>
    <script type="text/javascript"> 
    var ent = document.getElementById('enter');
    if(ent.attachEvent){
    ent.attachEvent("onclick",aaa);
    }else{
    ent.addEventListener("click",aaa,false);
    }
    </script>
    </body>
    </html>在第一个input里enter后:IE下还是会触发onblur事件然后再submit(实际上没submit) 而FF没有触发onblur但是submit了  - -!
      

  5.   

    看看这样是不是高效多了,<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Example </title>
    <script type="text/javascript">
    function $(id) {
    return "string" == typeof(id) ? document.getElementById(id) : id;
    }function addEvtToObj(tagName){
    var t=tagName;
    nList=document.getElementsByTagName(t);
    for(var i=0;i<nList.length;i++){
    nList[i].onkeypress=function(e){
    var e=window.event||e;
    var k=e.keyCode | e.which | e.charCode;
    if(k==13) handinForm();
    }
    }
    }function handinForm(){
    $("form1").action="#";  // here go your URL
    $("form1").submit();
    alert("已经提交表单了");
    }</script>
    <style></style>
    </head>
    <body onLoad="javascript:addEvtToObj('input')">
    <form id="form1" name="form1" action="" method="post">
    <input id="t1" type="text"/><br />
    <input id="t2" type="text" /><br />
    <input id="t3" type="text" /><br />
    <input id="enter" type="submit" value="submit"/>
    </form>
    </body>
    </html> 
      

  6.   

    在任意input里enter的时候提交表单,如果不提交表单那就改成执行你的函数...
    if(k==13) aaa();   //修改成你的函数即可
    ...
      

  7.   


    <html>
    <head>
    <title>Example </title>
    <script type="text/javascript">
    function $(id) {
    return "string" == typeof(id) ? document.getElementById(id) : id;
    }function addEvtToObj(tagName){
    var t=tagName;
    nList=document.getElementsByTagName(t);
    for(var i=0;i<nList.length;i++){
        nList[i].onkeypress=function(e){
            var e=window.event||e;
            var k=e.keyCode | e.which | e.charCode;
            if(k==13) check();
            }
        }
    }function handinForm(){
    $("form1").action="#";  // here go your URL
    $("form1").submit();
    alert("已经提交表单了");
    }function check(){
    if($("t1").value =="a"){
    alert("aaaa");
    }else{
    $("enter").onclick();
    }
    return false;
    }</script>
    <style></style>
    </head>
    <body onLoad="javascript:addEvtToObj('input')">
    <form id="form1" name="form1" action="" method="post">
    <input id="t1" type="text"/><br />
    <input id="t2" type="text" /><br />
    <input id="t3" type="text" /><br />
    <input id="enter" type="submit" value="submit" />
    </form>
    </body>
    </html> 
    t1的value为a时enter后alert有了但确定后仍提交啊