我的页面上有两个gridview控件,其中gridview2在页面第一次加载时是不显示的,要在用户输入一些信息,点击button后才能绑定并显示数据,并且该gridview的<ItemTemplate>全都是使用TextBox绑定的。现在为了可以通过方向键在这些textbox之间跳格,我参考网上的,写了以下javascript代码:
var inputarray=document.getElementById('<%=GridView2.ClientID %>').getElementsByTagName('input');
  for(var i=0;i<inputarray.length;i++)
  {
    inputarray[i].onkeydown=preFocus(i);
  }
  function setFocus(d,obj)
  {
    var r=obj.createTextRange();
    r.moveStart('character',d);
    r.collapse(true);
    r.select();
  }
  function preFocus(d)
  {
     return function()
     {
        var iekey=event.keyCode; //获取按下键的对应数字
        if(iekey==38||iekey==40) //如果是向上或者向下
        {
           var a=d+(iekey-39)*10;
           if(a>=0&&a<inputarray.length)
           {
             inputarray[a].focus();
           }
        }         
        if(iekey==37)
         {
             var slt=document.selection.createRange();
             slt.setEndPoint("StartToStart",inputarray[d].createTextRange());
             var s=slt.text.length;
             var a=(inputarray.length+d-1)%inputarray.length;
             inputarray[a].focus();
             setFocus(inputarray[a].value.length,inputarray[a]);
             return false;
          }
          
         if(iekey==39||iekey==inputarray[d].value.length)
         {
            var a=(d+1)%inputarray.length;
             inputarray[a].focus();
             setFocus(0,inputarray[a]);
             return false;
         }       
     }
  }
现在的问题是:当页面第一次加载的时候,会提示 var inputarray=document.getElementById('<%=GridView2.ClientID %>').getElementsByTagName('input'); 这句有错误,这原因很明显我知道。但我不熟悉javascript,不知道该如何解决,期待高手指点