[解決済み] onKeyPress中に入力テキストボックスのテキストを取得するには?
2023-01-12 12:05:36
質問
ユーザが入力したテキストボックスのテキストを取得しようとしています ( jsfiddleプレイグラウンド ):
function edValueKeyPress() {
var edValue = document.getElementById("edValue");
var s = edValue.value;
var lblValue = document.getElementById("lblValue");
lblValue.innerText = "The text box contains: " + s;
//var s = $("#edValue").val();
//$("#lblValue").text(s);
}
<input id="edValue" type="text" onKeyPress="edValueKeyPress()"><br>
<span id="lblValue">The text box contains: </span>
このコードはエラーなく実行されますが
値
の
input text
ボックスの中に
onKeyPress
は常に値
の前に
の値です。
質問 : の間にテキストボックスのテキストを取得するにはどうしたらよいでしょうか?
onKeyPress
?
ボーナス・チャター
に関する3つのイベントがあります。 ユーザーが入力中です。 に関連する3つのイベントがあります。
-
onKeyDown
-
onKeyPress
-
onKeyUp
で
Windows
の順序は
WM_Key
メッセージの順序が重要になるのは、ユーザーがキーを押したまま、キーの繰り返しを開始したときです。
-
WM_KEYDOWN('a')
- ユーザが押し下げた A キー -
WM_CHAR('a')
- アンa
文字を受信しました -
WM_CHAR('a')
- アンa
文字を受信しました -
WM_CHAR('a')
- アンa
文字を受信しました -
WM_CHAR('a')
- アンa
文字を受信しました -
WM_CHAR('a')
- アンa
文字を受信しました -
WM_KEYUP('a')
- ユーザが A キー
テキストコントロールに5つの文字が表示されることになります。
aaaaa
重要なのは、このように
WM_CHAR
メッセージに応答することです。そうしないと、キーが押されたときのイベントを見逃すことになります。
で HTML では少し異なります。
-
onKeyDown
-
onKeyPress
-
onKeyDown
-
onKeyPress
-
onKeyDown
-
onKeyPress
-
onKeyDown
-
onKeyPress
-
onKeyDown
-
onKeyPress
-
onKeyUp
Htmlは
KeyDown
と
KeyPress
をキーリピートする。そして、その
KeyUp
イベントが発生するのは、ユーザがキーを離したときだけです。
持ち帰る
-
I
できる
応じる
onKeyDown
またはonKeyPress
の前に発生しますが、どちらもinput.value
が更新される前に -
に応答できません。
onKeyUp
は、テキストボックスのテキストが変わっても起こらないからです。
質問です。
の間にテキストボックスのテキストを取得するにはどうすればよいでしょうか?
onKeyPress
?
ボーナス・リーディング
どのように解決するのですか?
を処理する
input
イベントは一貫した解決策です: それは
対応
に対して
textarea
と
input
要素を起動し
まさに
を必要とするときに発生します。
function edValueKeyPress() {
var edValue = document.getElementById("edValue");
var s = edValue.value;
var lblValue = document.getElementById("lblValue");
lblValue.innerText = "The text box contains: " + s;
}
<input id="edValue" type="text" onInput="edValueKeyPress()"><br>
<span id="lblValue">The text box contains: </span>
ちょっと書き換えますが。
function showCurrentValue(event)
{
const value = event.target.value;
document.getElementById("label").innerText = value;
}
<input type="text" onInput="showCurrentValue(event)"><br>
The text box contains: <span id="label"></span>
関連
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] jQueryを使ってドロップダウンリスト(セレクトボックス)から選択されたテキストを取得する
-
[解決済み] セレクトボックスのプレースホルダーを作成するにはどうすればよいですか?
-
[解決済み] 入力テキストボックスの値を取得する
-
[解決済み] javascriptでオプションのパラメータを扱う
-
[解決済み] HTML要素にスクロールバーがあるかどうかをチェックする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 入力テキストボックスの値を取得する
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] JavaScriptのtoString()関数をオーバーライドして、デバッグ用に意味のある出力を提供することは可能でしょうか?
-
[解決済み] AngularJS - ngRepeatフィルタリングされた結果の参照を取得する方法
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる
-
[解決済み] これは純関数ですか?
-
[解決済み] <input type="number"> フィールドの生の値を取得する方法は?