点击textbox,设置想对应的button焦点,代码如下,就是模板页不能使用...JS:不客气的从论坛上扒的...
function   InputGo(v) 
                { 
                       if(   event.keyCode   ==   13 || event.keyCod == 108   ) 
                       { 
                                switch(   parseInt(v)   ) 
                                { 
                                        case   0: 
                                                document.getElementById( 'Button1').focus(); 
                                                break; 
                                                
                                        case   1: 
                                                 document.getElementById( 'Button2').focus(); 
                                                break; 
                                } 
                       } 
                } 
aspx中有两个button,三个textbox:textbox1和textbox2连着button1,textbox3连着button2 <asp:TextBox ID="TextBox1" runat="server" Width="66px" onkeydown="InputGo(0)"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server" Width="66px" TextMode="Password" onkeydown="InputGo(0)">
 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" CssClass="btn3_mouseout" Text="登录"  />
<asp:TextBox ID="TextBox3" runat="server" Width="144px" onkeydown="InputGo(1)" ></asp:TextBox>
 <asp:Button ID="Button2" runat="server" Text="查询" OnClick="Button2_Click" CssClass="btn3_mouseout" />在没使用模板页的网页中可以正常使用,但是在模板页中就不行了,模板页的代码和正常网页这些功能一样,代码是一模一样的。求解决,谢谢!

解决方案 »

  1.   

    那就别用模板页,你可以做成 弹出式的自定义登录窗口也可以的。
    TextBox 连 Button 想要实现什么效果?目的说清楚点行吗?
      

  2.   

    模板页是必须用的了,这点就不用考虑了...
    功能很简单,
    button1就是登陆,textbox1是用户名,textbox2是密码,
    button2是查询,textbox3是查询的关键字我就想输入关键字的时候直接一回车就进入button2的onclick,但默认是button1
      

  3.   

    在模板里要用序列号来找控件的吧,试试这个,
    function InputGo(v)  
      {  
      if( event.keyCode == 13 || event.keyCod == 108 )  
      {  
      switch( parseInt(v) )  
      {  
      case 0:  
      document.getElementById( '<%=Button1.ClientID%>').focus();  
      break;  
        
      case 1:  
      document.getElementById( '<%=Button2.ClientID%>').focus();  
      break;  
      }  
      }  
      } 
    如果还不行就用最原始的表单遍历吧
      

  4.   

    唉,虽然我不知道ClientID是啥,不过这样子用确实也没能成功,而且之前能成功的也不成功了....
      

  5.   

    无奈。。你把前台form里所有代码贴出来看看
      

  6.   

    form里的东西太多了,但是除了下面这些代码其他都是些图片flash之类的,应该没什么影响吧先发成功的,也就是没有用到母板页:
    <table class="tablea">
                                        <tr>
                                            <td class="tda1">
                                            </td>
                                            <td class="tda1">
                                                <asp:TextBox ID="TextBox1" runat="server" Width="66px" onkeydown="InputGo(0)"></asp:TextBox></td>
                                            <td class="tda1">
                                                <asp:Label ID="Label1" runat="server" Font-Size="Small" ForeColor="Red" ValidationGroup="group1"></asp:Label></td>
                                        </tr>
                                        <tr>
                                            <td class="tda2">
                                            </td>
                                            <td class="tda2">
                                                <asp:TextBox ID="TextBox2" runat="server" Width="66px" TextMode="Password" onkeydown="InputGo(0)"></asp:TextBox></td>
                                            <td class="tda2">
                                                <asp:Button ID="Button1" runat="server" Height="20px" OnClick="Button1_Click" CssClass="btn3_mouseout"
                                                    onmouseover="this.className='btn3_mouseover'" onmouseout="this.className='btn3_mouseout'"
                                                    onmousedown="this.className='btn3_mousedown'" Text="登录" Width="60px" ValidationGroup="group1" />
                                            </td>
                                        </tr>
                                        <tr>
                                            <td class="tda2">
                                            </td>
                                            <td colspan="2" class="tda4"  >
                                                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"
                                                    ErrorMessage="用户名不能为空" Font-Size="Small" ValidationGroup="group1"></asp:RequiredFieldValidator></td>
                                        </tr>
                                        <tr>
                                            <td class="tda2">
                                            </td>
                                            <td class="tda4" colspan="2" >
                                                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox2"
                                                    ErrorMessage="密码不能为空" Font-Size="Small" ValidationGroup="group1"></asp:RequiredFieldValidator></td>
                                        </tr>
                                        <tr>
                                            <td class="tda2" >
                                                <img src="../../picture/1/search.png" style="height: 20px" />
                                                <asp:Button ID="Button2" runat="server" Text="查询" OnClick="Button2_Click" ValidationGroup="group2"
                                                    CssClass="btn3_mouseout" onmouseover="this.className='btn3_mouseover'" onmouseout="this.className='btn3_mouseout'"
                                                    onmousedown="this.className='btn3_mousedown'" />
                                            </td>
                                            <td class="tda2" colspan="2">
                                                <asp:TextBox ID="TextBox3" runat="server" Width="144px" onkeydown="InputGo(1)" ValidationGroup="group2"></asp:TextBox>
                                            </td>
                                        </tr>
                                    </table>
    接下来是不成功的,也就是在母板页内的:
    <table class="tablea">
                                        <tr>
                                            <td class="tda1">
                                            </td>
                                            <td class="tda1">
                                                <asp:TextBox ID="TextBox1" runat="server" Width="66px" onkeydown="InputGo(0)"></asp:TextBox></td>
                                            <td class="tda1">
                                                <asp:Label ID="Label1" runat="server" Font-Size="Small" ForeColor="Red" ValidationGroup="group1"></asp:Label></td>
                                        </tr>
                                        <tr>
                                            <td class="tda2">
                                            </td>
                                            <td class="tda2">
                                                <asp:TextBox ID="TextBox2" runat="server" Width="66px" TextMode="Password" onkeydown="InputGo(0)"></asp:TextBox></td>
                                            <td class="tda2">
                                                <asp:Button ID="Button1" runat="server" Height="20px" OnClick="Button1_Click" CssClass="btn3_mouseout"
                                                    onmouseover="this.className='btn3_mouseover'" onmouseout="this.className='btn3_mouseout'"
                                                    onmousedown="this.className='btn3_mousedown'" Text="登录" Width="60px" ValidationGroup="group1" />
                                            </td>
                                        </tr>
                                        <tr>
                                            <td class="tda2">
                                            </td>
                                            <td colspan="2" class="tda4"  >
                                                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"
                                                    ErrorMessage="用户名不能为空" Font-Size="Small" ValidationGroup="group1"></asp:RequiredFieldValidator></td>
                                        </tr>
                                        <tr>
                                            <td class="tda2">
                                            </td>
                                            <td class="tda4" colspan="2" >
                                                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox2"
                                                    ErrorMessage="密码不能为空" Font-Size="Small" ValidationGroup="group1"></asp:RequiredFieldValidator></td>
                                        </tr>
                                        
                                    </table>
    以及:
     <div class="divfen2">
                                <br />
                                <img src="../../picture/1/search.png" />查询<br />
                                <br />
                                <asp:Label ID="Label2" runat="server" Font-Size="Medium" Height="23px" Text="关键字"
                                    Width="131px"></asp:Label>
                                <asp:TextBox ID="TextBox3" runat="server" Width="207px" onkeydown="InputGo(1)"  ValidationGroup="group2" ></asp:TextBox>
                                <asp:Button ID="Button2"  runat="server" Text="查询" OnClick="Button2_Click" CssClass="btn3_mouseout"
                                    onmouseover="this.className='btn3_mouseover'" onmouseout="this.className='btn3_mouseout'"
                                    onmousedown="this.className='btn3_mousedown'" ValidationGroup="group2"  /><br />
                            </div>
    这些代码我保证都是在form里的,都是这样的:<form id="Form1" runat="server">
      

  7.   

    经测试。。没问题啊。。
    <asp:Content ContentPlaceHolderID="head" runat="server">
    <script type="text/javascript">
        function InputGo(v) {
            if (event.keyCode == 13 || event.keyCod == 108) {
                switch (parseInt(v)) {
                    case 0:
                        document.getElementById('<%=Button1.ClientID %>').focus();
                        break;                case 1:
                        document.getElementById('<%=Button2.ClientID %>').focus();
                        break;
                }
            }
        }  
        </script>
    </asp:Content>
    <asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        <table class="tablea">
                <tr>
                    <td class="tda1">
                    </td>
                    <td class="tda1">
                        <asp:TextBox ID="TextBox1" runat="server" Width="66px" onkeydown="InputGo(0)"></asp:TextBox>
                    </td>
                    <td class="tda1">
                        <asp:Label ID="Label1" runat="server" Font-Size="Small" ForeColor="Red" ValidationGroup="group1"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td class="tda2">
                    </td>
                    <td class="tda2">
                        <asp:TextBox ID="TextBox2" runat="server" Width="66px" TextMode="Password" onkeydown="InputGo(0)"></asp:TextBox>
                    </td>
                    <td class="tda2">
                        <asp:Button ID="Button1" runat="server" Height="20px" OnClick="Button1_Click" CssClass="btn3_mouseout"
                            onmouseover="this.className='btn3_mouseover'" onmouseout="this.className='btn3_mouseout'"
                            onmousedown="this.className='btn3_mousedown'" Text="登录" Width="60px" ValidationGroup="group1" />
                    </td>
                </tr>
                <tr>
                    <td class="tda2">
                    </td>
                    <td colspan="2" class="tda4">
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"
                            ErrorMessage="用户名不能为空" Font-Size="Small" ValidationGroup="group1"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td class="tda2">
                    </td>
                    <td class="tda4" colspan="2">
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox2"
                            ErrorMessage="密码不能为空" Font-Size="Small" ValidationGroup="group1"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td class="tda2">
                        <img src="../../picture/1/search.png" style="height: 20px" />
                        <asp:Button ID="Button2" runat="server" Text="查询" OnClick="Button2_Click" ValidationGroup="group2"
                            CssClass="btn3_mouseout" onmouseover="this.className='btn3_mouseover'" onmouseout="this.className='btn3_mouseout'"
                            onmousedown="this.className='btn3_mousedown'" />
                    </td>
                    <td class="tda2" colspan="2">
                        <asp:TextBox ID="TextBox3" runat="server" Width="144px" onkeydown="InputGo(1)" ValidationGroup="group2"></asp:TextBox>
                    </td>
                </tr>
            </table>
    </asp:Content>
    莫非我想的结构和你的不同?
      

  8.   

    天呢..我看我问题大了,我用<%=Button1.ClientID %>连普通页面也没成功呢..
    先谢谢楼上了,如果有问题我再发帖问吧,你能成功我也应该可以吧...我再回去好好试试..
      

  9.   

    请注意,模板页中的产生的id,最对不跟你设计时看到的id不一样,具体的可以看看页面运行后真是的客户端的id,js中需要客户端的id. 这个客户端的id生成也是有规则的。
      

  10.   

    举个例子来说
    document.getElementById( 'Button2').focus();
    如果没有模板页,那么button2前台后台,名字没啥变化。
    如果加了模板页,那么,后台的button2一般会变成 ctl100_...._button2,也就是说id变化了。同样,name也会变化。
    在用了模板页的页面上,所有带有sever的控制,id值,都得由后台的ClientID读取。处理方法一般有两种,一是前边有人说过的,在前台html中嵌入<%=%>,但一般不用这种。还有一种,是后台把ClientID传到前台,也就是说,javascript由后台输出至前台,同时ClientID以参数形式传入