Kullanıcı yazdıkça bir metin kutusundaki metni almaya çalışıyorum ( jsfiddle oyun alanı ):
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>
Kod olması dışında hatasız çalıştığını değeri arasında input textesnasında kutunun onKeyPressdeğeri her zaman olduğu öncesi değişim:

Soru : sırasında bir metin kutusunun metnini nasıl alırım
onKeyPress?
Bonus Chatter
HTML DOM'da "kullanıcı yazıyor" ile ilgili üç olay vardır :
onKeyDownonKeyPressonKeyUp
In Windows'un , sırası WM_Keykullanıcı tuşunu basılı tutar ve anahtar tekrar başladığında mesajların önemli hale:
WM_KEYDOWN('a')- kullanıcı Atuşa bastıWM_CHAR('a')- kullanıcıdan birakarakter alındıWM_CHAR('a')- kullanıcıdan birakarakter alındıWM_CHAR('a')- kullanıcıdan birakarakter alındıWM_CHAR('a')- kullanıcıdan birakarakter alındıWM_CHAR('a')- kullanıcıdan birakarakter alındıWM_KEYUP('a')- kullanıcı Aanahtarı serbest bıraktı
Bir metin denetiminde görünen beş karakterle sonuçlanır: aaaaa
Önemli olan nokta, WM_CHARmesaja cevap vermeniz , tekrarlayan olmasıdır. Aksi takdirde, bir tuşa basıldığında olayları kaçırırsınız.
In HTML işler biraz daha farklıdır:
onKeyDownonKeyPressonKeyDownonKeyPressonKeyDownonKeyPressonKeyDownonKeyPressonKeyDownonKeyPressonKeyUp
Html bir KeyDownve KeyPressher anahtarın tekrarı sunar . Ve KeyUpolay yalnızca kullanıcı anahtarı bıraktığında ortaya çıkar.
Paketler
- Ben yapabilirsiniz cevap
onKeyDownyaonKeyPress, ama daha önce de hala yetiştirilirinput.valuegüncellendi - Cevap veremiyorum
onKeyUpçünkü metin kutusundaki metin değiştikçe bu gerçekleşmiyor.
Soru: sırasında bir metin kutusunun metnini nasıl alırım onKeyPress?