1

重複の可能性:
Enter キーを使用してフォームを送信できないようにする

私のプロジェクトでは、Enterキーを無効にして、独自の入力キー機能を提供しようとしています (これは行っていません) 。

Enter以下の機能は機能していますが、フィールド内でキーを押すたびに、コンテンツが(必要に応じて)TextBox追加され、フィールドでも入力キー機能が発生しています(これは望ましくありません)。フィールドで実行するキー入力機能を停止する方法は? 明確に理解するには、以下のコードの私のコメントを参照してください。divTextBoxTextBox

.aspx ファイル(作業中)

<asp:TextBox ID="msg" BackColor="Transparent" runat="server" BorderStyle="None"
                        TextMode="MultiLine" />

jQuery作業中

$('#msg').keypress(function (e) {
            if (e.which == 13) {

                //Shows the TextBox text in a Div, which I want to.
                chat.server.send($('#msg').val());  //also going one step down in TextBox field which I dont want to.

                $('#msg').val(''); //Clearing the Text in TextBox field

                //what should I add here to make the Enter Key work only for the DIV?
            }
        });

ソース

4

2 に答える 2

4

e.preventDefault() このようにしてみてください

$('#msg').keypress(function (e) {
            if (e.which == 13) {
                e.preventDefault();
                //Shows the TextBox text in a Div, which I want to.
                chat.server.send($('#msg').val());  //also going one step down in TextBox field which I dont want to.

                $('#msg').val(''); //Clearing the Text in TextBox field

                //what should I add here to make the Enter Key work only for the DIV?
            }
        });
于 2012-11-26T07:17:36.463 に答える
0

また、C# での検証にも C# を使用してみてください。以下の関数を記述し、パラメータを提供する関数を this として呼び出すだけです(以下で説明しています)

public void disable_TextBox_Enter(Control parent)
    {
        foreach (Control c in parent.Controls)
        {
            if ((c.Controls.Count > 0))
            {
                disable_TextBox_Enter(c);
            }
            else
            {
                if (c is TextBox)
                {
                    ((TextBox)(c)).Attributes.Add("onkeydown", "return (event.keyCode!=13);");

                }
                if (c is GridView)
                {

                    ((GridView)(c)).Attributes.Add("onkeydown", "return (event.keyCode!=13);");

                }

            }
        }
    }

U は、次のように関数を呼び出すことができます。

disable_TextBox_Enter(this);
于 2012-11-26T11:30:20.497 に答える