¿Cómo obtener el texto de un cuadro de texto de entrada durante onKeyPress?
Estoy intentando obtener el texto en un cuadro de texto a medida que el usuario escribe en él (parque infantil 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>
El código se ejecuta sin errores, excepto que elvalor delinput text
caja, duranteonKeyPress
siempre es el valorantes de el cambio:
Pregunta: ¿Cómo obtengo el texto de un cuadro de texto duranteonKeyPress
?
Hay tres eventos relacionados con"el usuario está escribiendo" en el DOM de HTML:
onKeyDown
onKeyPress
onKeyUp
EnWindows, el orden deWM_Key
los mensajes se vuelven importantes cuando el usuario presiona una tecla, y la tecla comienza a repetirse:
WM_KEYDOWN('a')
- El usuario ha presionado elA llaveWM_CHAR('a')
- una
personaje ha sido recibido del usuarioWM_CHAR('a')
- una
personaje ha sido recibido del usuarioWM_CHAR('a')
- una
personaje ha sido recibido del usuarioWM_CHAR('a')
- una
personaje ha sido recibido del usuarioWM_CHAR('a')
- una
personaje ha sido recibido del usuarioWM_KEYUP('a')
- el usuario ha liberado elA llaveResultará en cinco caracteres que aparecen en un control de texto:aaaaa
El punto importante es que la respuesta a laWM_CHAR
Mensaje, el que repite. De lo contrario, se pierden eventos cuando se presiona una tecla.
EnHTML las cosas son ligeramente diferentes
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyUp
HTML entrega unaKeyDown
yKeyPress
Cada tecla se repite. Y elKeyUp
El evento solo se genera cuando el usuario libera la tecla.
Llevar
I puede responder aonKeyDown
oonKeyPress
, pero ambos todavía se levantan antes de lainput.value
Ha sido actualizadoNo puedo responder aonKeyUp
, porque no sucede cuando el texto en el cuadro de texto cambia.Pregunta: ¿Cómo obtengo el texto de un cuadro de texto duranteonKeyPress
?