Reputation: 25265
myInput.value
is one keystroke behind when I examine it in a keyPress
event handler. So if the users types "a", myInput.value
gives me "". Then when the user types "b", myInput.value
gives me "a", and so on. The value doesn't seem to get updated with the character input by the keystroke that triggered the event. What am I doing wrong?
Upvotes: 16
Views: 13580
Reputation: 7001
When I had this problem, the thing I actually wanted was the oninput
event handler.
One notable difference between this and the keyUp solution is that if you e.g. hold down a key to repeat it, oninput will get called every time the key repeats, but keyUp will only get called when the key is released.
Upvotes: 4
Reputation: 1676
Use the keyUp event, it should definitely give you the value you are looking for.
Upvotes: 31