9

ASP.NET Web アプリケーションでちょっとした問題に出くわしました。

Enterキーを押してアクセスしたいページにいくつかのボタンがあります(どちらTextBoxがフォーカスされているかによって異なります)。

グーグルは私を助けてくれたと思いましたが、そうではありませんでした。

これは私が見つけたものです:

tbEmail.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('" + btRegister.UniqueID + "').click();return false;}} else {return true}; ");

ソース

これは機能していないようです。現時点では押したくない別のボタンをまだ押しています。

助言がありますか?

4

4 に答える 4

25

Web フォームを使用しているようです。

実行していることを a 内でラップし、パネル内でプロパティPanelを設定できます。DefaultButton

<asp:Panel ID="LoginPanel" runat="server" DefaultButton="btLogin">
  <asp:TextBox ID="txtUser" runat="server" />
  <asp:TextBox ID="txtPass" runat="server" />
  <asp:Button ID="btLogin" runat="server">Login</asp:Button>
</asp:Panel>

ユーザーがどちらかにデータを入力してからキーを押すtxtUserと、ボタンがトリガーされます。txtPassEnterbtLogin

于 2012-06-14T18:00:04.063 に答える
4

JavaScript を使用しないでください。フォームを の中に入れて、プロパティをボタンの ID に<asp:Panel>設定してください。DefaultButton

于 2012-06-14T17:57:54.360 に答える
3

これにはjQueryを使用するとはるかに簡単です。keypressイベントにバインドします。

于 2012-06-14T17:57:43.817 に答える
0

さまざまなことを行うテキストボックスごとにキープレスイベントを使用できます..そう:

private void a_keyPress(object sender, KeyPressEventArgs e)
{
    RadTextBox myBox = (RadTextBox)sender;

    if (e.KeyChar == (char)Keys.Return)
    {
        if (myBox.ID == "textbox1")
        // then do stuff...
    }
    else if //do stuff...
}
于 2012-06-14T17:59:08.953 に答える