try
inputArr[i].attachEvent("onkeyup", "overtext("+id+");"); 

解决方案 »

  1.   

    (function(i){
    var id = inputArr[i].id; inputArr[i].attachEvent("onkeyup", function(){overtext(id);});
    })(i);
      

  2.   

    多增加一个方法
    function func(obj,id)
    {
    obj.attachEvent("onkeyup", function(){overtext(id);}); 
    }前面的
    if(inputArr[i].type=="text") 

    var id = inputArr[i].id; inputArr[i].attachEvent("onkeyup", function(){overtext(id);});     } 
    改为
    if(inputArr[i].type=="text") 
    {
        func(inputArr[i],inputArr[i].id);
    }
      

  3.   

    if(document.getElementById("subCon"))
    {
        var inputArr = document.getElementById("subCon").getElementsByTagName("input");
        for (var i = 0; i <inputArr.length; i++) {
          if(inputArr[i].type=="text"){
            inputArr[i].attachEvent("onkeyup", function(){overtext(this.id);});
    //or inputArr[i].onkeyup = function(){overtext(this.id);}
          }
        }
    }function overtext(o)
    {
      alert(o);
      

  4.   


    <form id="form1" runat="server">
        <div id="subCon">
            <input id="Text1" type="text" />
            <input id="Text2" type="text" />
            <input id="Text3" type="text" />
            </div>
            <script type="text/javascript" language="javascript">
            
            var overtextFunction = function(o){return function(){alert(o);}}
            
        if(document.getElementById("subCon")) 

        var inputArr = document.getElementById("subCon").getElementsByTagName("input"); 
         
        for (var i = 0; i <inputArr.length; i++) { if(inputArr[i].type=="text") 

    var id = inputArr[i].id; 
    alert(id);
    inputArr[i].attachEvent("onkeyup", overtextFunction(id));     }     } 

        </script>
        </form>