I have an input element and I want to keep checking the length of the contents and whenever the length becomes equal to a particular size, I want to enable the submit button, but I am facing a problem with the onchange event of Javascript as the event fires only when the input element goes out of scope and not when the contents change.
<input type="text" id="name" onchange="checkLength(this.value)" />
—-onchange does not fire on changing contents of name, but only fires when name goes out of focus.
Is there something I can do to make this event work on content change? or some other event I can use for this?
I found a workaround by using the onkeyup function, but that does not fire when we select some content from the auto completer of the browser.
I want something which can work when the content of the field change whether by keyboard or by mouse… any ideas?
This will catch
change, keystrokes,paste,textInput,input(when available). And not fire more than necessary.http://jsfiddle.net/katspaugh/xqeDj/
References:
textInput— a W3C DOM Level 3 event type. http://www.w3.org/TR/DOM-Level-3-Events/#events-texteventsinput— an HTML5 event type.Firefox, Chrome, IE9 and other modern browsers support it.