ホームページ >ウェブフロントエンド >jsチュートリアル >キャリッジ リターン イベントを登録し、ボタンを送信するevent_javascriptスキルをトリガーするテキストボックス コントロールの特定の実装

キャリッジ リターン イベントを登録し、ボタンを送信するevent_javascriptスキルをトリガーするテキストボックス コントロールの特定の実装

WBOY
WBOYオリジナル
2016-05-16 17:41:091211ブラウズ
はじめに:
ASP.Net ページでは、テキストボックスのインデックスは 1 (または n) で、後続の送信ボタンのインデックスは 2 (n 1) です。カーソルは にあります。テキストボックスに移動し、Enter キーを押した後は自動的にフォーカスが設定され、次のボタンに移動するとボタンのクリック イベントがトリガーされます。

しかし、Lyncplus クライアントで Web ページにアクセスすると、TextBox コントロールの Enter オートコンプリート ボタンの送信イベントが失敗する状況が発生しました (自動的にフォーカスが切り替わるはずです)。

サーバー側 TextBox コントロールは OnKeyPress や OnKeyDown などのイベントを提供しないため、Button ボタンのクリック イベントを呼び出す Enter イベントのバックグラウンド コードを作成することはできません。

そこで、インターネットで関連する紹介を探し、最終的に次の 2 つの問題を解決しました:
(1) コントロールする TextBox コントロールの Enter イベントで JS コードの実行を実装します。ページ要素の値。
(2) TextBox コントロールの Enter イベント内でサーバー コントロールのクリック イベントを呼び出し、サーバー C# コードを実行し、関連する関数を実装する実装。
具体的な実装は次のとおりです:
1. サーバー側 TextBox コントロールの enter イベントを登録してトリガーします
1. PageLoad イベント コード:
コードをコピーします コードは次のとおりです:

protected void Page_Load(object sender, EventArgs e)
{
MessageTxt.Attributes.Add("onkeypress ", "EnterTextBox()");
MessageTxt.Attributes.Add("onkeydown", "EnterTextBox()");

2.javascript コード:

コードをコピー コードは次のとおりです:


2. サーバー側の Button コントロールのクリック イベントを呼び出します。 TextBox コントロールの Enter イベント
1.PageLoad イベント コード: 上記と同じ。

コードをコピー コードは次のとおりです。
protected void Page_Load(object sender, EventArgs e )
{
MessageTxt.Attributes.Add("onkeypress", "EnterTextBox()");
MessageTxt.Attributes.Add("onkeydown", "EnterTextBox()");
🎜>

2.javascript コード: ボタンを取得するために元の dom オブジェクトが使用されますが、Jquery を使用して取得することはできないことに注意してください。