Fazer ENTER funcionar como TAB em formulário web

Problema do aluno: Trabalho com ASP.Net e a única forma de mudar o foco de um campo para o outro é usando a tecla [TAB] .

Necessidade: Passar de um campo para outro usando o [ENTER].

Solução: Desenvolvi uma função em javascript que verifica a tecla que foi pressionada e, se for [ENTER], passa o foco para o outro campo.

Abra um projeto web e arraste para o formulário os componentes abaixo:

tela do site

O código-fonte gerado (Default.aspx) é:

<%@ Page Language=”VB” AutoEventWireup=”false” CodeFile=”Default.aspx.vb” Inherits=”_Default” %>
<!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>Untitled Page</title>

<script type=”text/javascript” language=”javascript”>
        function passaCampo(e, proximoCampo)
        {
            if (e.keyCode == 13)
            {
                e.keyCode=0
                proximoCampo.focus()
            }
        }
    </script>
</head>
<body>
    <form id=”form1? runat=”server”>
    <div>
        Nome:
        <asp:TextBox ID=”TextBox1? runat=”server”></asp:TextBox><br />
        <br />
        Idade:
        <asp:TextBox ID=”TextBox2? runat=”server”></asp:TextBox><br />
        <br />
        <asp:Button ID=”Button1? runat=”server” Text=”Button” Width=”198px” /><br />
        <br />

</div>
    </form>
</body>
</html>

Dê um clique sobre o formulário e a janela de código (Default.aspx.vb) é aberta. Complete o código:

Partial Class _Default
   Inherits System.Web.UI.Page

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
         TextBox1.Attributes.Add(”onKeyPress”, “javascript:passaCampo(event,TextBox2);”)
         TextBox2.Attributes.Add(”onKeyPress”, “javascript:passaCampo(event,TextBox1);”)
   End Sub
End Class