【发布时间】:2013-10-22 02:49:16
【问题描述】:
此处使用 jQuery,但无法阻止将数字输入到输入字段中
http://codepen.io/leongaban/pen/owbjg
输入
<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));
}
我在这里看到了很多关于如何仅限数字的示例,并且我使用了正确的 a-z 和 A-Z 键码。你知道我做错了什么吗?
【问题讨论】:
-
限制输入对用户不友好,您只关心使用它时的值是什么(比如提交表单时)。让用户随心所欲地获得合适的值,尤其是当他们不需要使用键盘在输入中输入值时。
-
如果键码不在A-Za-z范围内,如何在事件对象上调用
preventDefault -
e.preventDefault 阻止我输入任何字符 :( @RobG 但是我的输入中不允许输入数字
-
响应按键并停止除字母以外的任何内容不会停止复制/粘贴(通过至少 3 种方法中的任何一种)、拖放甚至脚本以插入用户想要的任何值。
-
哦,很高兴知道谢谢 :) 我不相信我的目标用户会使用拖放或脚本,但是嗯复制粘贴...
标签: javascript jquery input input-field