ユーザーが入力したテキストボックス(jsfiddle playground)でテキストを取得しようとしています。
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ですか?
ボーナスチャター
HTMLDOMには「ユーザーが入力しています」に関連する3つのイベントがあります。
onKeyDownonKeyPressonKeyUp
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のものが若干異なります。
onKeyDownonKeyPressonKeyDownonKeyPressonKeyDownonKeyPressonKeyDownonKeyPressonKeyDownonKeyPressonKeyUp
HTMLは提供KeyDownし、KeyPressすべてのキーリピートを。また、KeyUpイベントは、ユーザーがキーを離したときにのみ発生します。
テイクアウト
- 私がすることができますへの対応
onKeyDownやonKeyPress、しかし前に両方のはまだ提起されているinput.value更新されました onKeyUpテキストボックス内のテキストが変更されても応答しないため、応答できません。
質問:テキストボックスのテキストを取得するにはどうすればよいonKeyPressですか?