using jQuery here, however unable to prevent numbers from being typed into the input field
http://codepen.io/leongaban/pen/owbjg
Input
<input type="text" name="field" maxlength="8" title="Only Letters" value="Type Letters Only" onkeydown="return alphaOnly(event);" onblur="if (this.value == '') {this.value = 'Type Letters Only';}" onfocus="if (this.value == 'Type Letters Only') {this.value = '';}"/>
jQuery
function alphaOnly(event) { alert(event); var key; if (window.event) { key = window.event.key; } else if (e) { key = e.which; } //var key = window.event.key || event.key; alert(key.value); return ((key >= 65 && key <= 90) || (key >= 95 && key <= 122)); }
I’ve seen plenty of examples here on how to restrict to only Numbers, and I’m using the correct key codes for a-z and A-Z. Do you see what I’m doing wrong?
Advertisement
Answer
The property event.key
gave me an undefined value. Instead, I used event.keyCode
:
function alphaOnly(event) { var key = event.keyCode; return ((key >= 65 && key <= 90) || key == 8); };
Note that the value of 8 is for the backspace key.