$(function () {
        $("td input:text:first").focus();
        var $inp = $("td input:text");
        $inp.bind("keydown", function (e) {
            var key = e.which;
            
            if (key == 13) {                
//               alert($(this).attr("tabindex"));
                if($(this).attr("tabindex")==15)
                {
                        e.preventDefault();
                        $("#btnNextInputPage").click();
                        setTimeout("$('td input:text:first')[0].focus();",100);
                        
                }
                else
                { 
                    window.event.keyCode=9;
                }
            }
        });
    });

解决方案 »

  1.   

    .click()   里面函数呢?
      

  2.   

    click事件作用就是刷新一下table里的label控件显示值,用的是局部刷新table
      

  3.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataInput_Model_1_Horizontal.aspx.cs" Inherits="DataInput_Model_1_horizontal" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title><%=Resources.global.IMP109001 %></title>
        <script src="../JS/jquery-1.4.min.js" type="text/javascript"></script>
        
        <script type="text/javascript">
            $(function () {
            $("td input:text:first").focus();
            var $inp = $("td input:text");
            $inp.bind("keydown", function (e) {
                var key = e.which;
                
                if (key == 13) {                
    //               alert($(this).attr("tabindex"));
                    
                    if($(this).attr("tabindex")==15)
                    {
                            e.preventDefault();
                            $("#btnNextInputPage").click();
    //                        setTimeout("$('td input:text:first')[0].focus();",100);
                           
                            
                    }
                    else
                    { 
                        window.event.keyCode=9;
                    }
                }
            });
        });
     
        </script>
    </head>
    <body>
        <form id="form1" runat="server" >
        <div >
            <asp:ScriptManager ID="SM" runat="server">
                    </asp:ScriptManager>
    <div style="margin:0px;left:0px;padding:0px;" >
         
        <asp:UpdatePanel ID="upInput" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
              <table style="width:730px;margin:auto;margin-top:0px;" >
                    <tr>
                        <td >
                            <asp:Label runat="server"  ID="lblItemID01Name"></asp:Label>
                        </td>
                        <td >
                            <asp:TextBox runat="server" TabIndex="1" Width="200px" ID="txtItemID01Input"></asp:TextBox>
                        </td>
                        <td >
                            <asp:Label runat="server"  ID="lblItemID05Name"></asp:Label>
                        </td>
                        <td >
                            <asp:TextBox runat="server" TabIndex="5" Width="200px" ID="txtItemID05Input"></asp:TextBox>
                        </td>
                        <td >
                            <asp:Label runat="server"  ID="lblItemID09Name"></asp:Label>
                        </td>
                        
                        
                        
                    </tr>
                    <tr>
                        <td >
                            <asp:Label runat="server"  ID="lblItemID02Name"></asp:Label>
                        </td>
                        <td >
                            <asp:TextBox runat="server" TabIndex="2" Width="200px" ID="txtItemID02Input"></asp:TextBox>
                        </td>
                        <td >
                            <asp:Label runat="server"  ID="lblItemID06Name"></asp:Label>
                        </td>
                        <td>
                            <asp:TextBox runat="server" TabIndex="6" Width="200px" ID="txtItemID06Input"></asp:TextBox>
                        </td>
                       
                       
                        
                    </tr>
                    <tr>
                        <td>
                            <asp:Label runat="server"  ID="lblItemID03Name"></asp:Label>
                        </td>
                        <td >
                            <asp:TextBox runat="server" TabIndex="3" Width="200px" ID="txtItemID03Input"></asp:TextBox>
                        </td>
                        <td >
                            <asp:Label runat="server"  ID="lblItemID07Name"></asp:Label>
                        </td>
                        <td >
                            <asp:TextBox runat="server" TabIndex="7" Width="200px" ID="txtItemID07Input"></asp:TextBox>
                        </td>
                        
                        
                    </tr>
                    <tr>
                        <td >
                            <asp:Label runat="server"  ID="lblItemID04Name"></asp:Label>
                        </td>
                        <td >
                            <asp:TextBox runat="server" TabIndex="4" Width="200px" ID="txtItemID04Input"></asp:TextBox>
                        </td>
                        
                        
                    </tr>
                    <tr>
                        <td colspan="2">
                            <asp:Label ID="lblInfoShow" runat="server"></asp:Label>
                        </td>
                        <td colspan="6" style="text-align:right;">
                            
                        </td>
                    </tr>
                </table> 
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="btnNextInputPage" />
            </Triggers>
        </asp:UpdatePanel>
        <asp:Button ID="btnCheck" runat="server" />
                            &nbsp;
                            <asp:Button ID="btnNeedInputPicture" runat="server" />
                            &nbsp;
                            <asp:Button ID="btnNextInputPage" runat="server" 
                          onclick="btnNextInputPage_Click" TabIndex="16" />
         </div>
        </form>
    </body>
    </html>
      

  4.   

    饿,现在我把按钮放到了updatepanel外面了,但是局部刷新后,焦点到了第一个文本框,我按enter,会导致整个页面刷新,奇怪了
      

  5.   

    点击事件很简单
    protected void btnNextInputPage_Click(object sender, EventArgs e)
        {                                                          
                //改变label值
                this.txtItemID01Input.Focus();            this.btnNextInputPage.Text = "下一页";        //设置button的值为“上一页”
            }
            else if (this.btnNextInputPage.Text == "上一页")  //如果button的值为“上一页”,则执行
            {                 
                //改变label值
                this.txtItemID01Input.Focus();
                
                this.btnNextInputPage.Text = Resources.global.IMP109046;        //设置button的值为“下一页”
            }    }
      

  6.   

    补充点:
           局部刷新后,我除去了其它按钮,只留下下一页按钮,发现,焦点一直停在下一页按钮上,然后按enter,就不停的局部刷新,执行下一页,上一页事件
      

  7.   

    还是无人问津么,重点是,局部刷新table后,页面焦点同时定位在了文本框和按钮上,按回车事件,执行按钮的点击,而文本框中的回车事件无发生
      

  8.   

       jquery获取文本框焦点 文本框中需要输入内容才可以提交,如果没有输入就提示并使该文本框获得焦点!如果没有使用jQuery的话 直接用对象.focus()就可以了,可是当我们使用了jQuery 这样$(”#nameInput”) 返回的就不是DOM对象了而是jQuery对象,这样的话$(”#nameInput”).focus()这个方法的意义也就变了,并不是使这个文本框获得焦点 而是触发这个文本框所有绑定在onfocus的函数!其实使用jQuery也非常简单将jQuery对象转化为一个DOM对象$(”#nameInput”)[0].focus() 简单的加一个[0] 便是我们想要的了!!