Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTML Input on change of value

Tags:

html

input

events

I have an input tag. This tag does not have the autocomplete feature turned off, thus, one does not necessarily need to release a key to change the value of this field and focus another one. My question is: how can I detect ANY value changes of this particular field, like e. g.

<input onvaluechange="//do following..." />

The JavaScript attribute onchange does not fire on change of value, only on changes like blur, focus, etc...

EDIT: It also doesn't necessarily be a key press. Due to the autocompletion, the user can simply mouse-click the autocompletion result to change the value. This would not fire an onkeydown event.

like image 259
arik Avatar asked May 13 '10 11:05

arik


Video Answer


2 Answers

It also doesn't necessarily be a key press. Due to the autocompletion

...and many other non-key-based operations, such as right-click-cut/paste, drag and drop, undo/redo, spellchecker adjustments and so on.

HTML5 defines an oninput event to catch all direct changes.

Unfortunately browser support today isn't there (no support in IE, and there are some bugs in others), so all you can do if you really need to detect all changes to an input value earlier than onchange is to use setInterval to add a poller that constantly compares against the previous value.

like image 74
bobince Avatar answered Oct 11 '22 18:10

bobince


Detecting "value" of input text field after a keydown event in the text field?

like image 30
tmadsen Avatar answered Oct 11 '22 18:10

tmadsen