【发布时间】:2012-02-13 12:41:36
【问题描述】:
我有这个输入文本:
010 141 474 010 141 474
我想按上面的数字按顺序一一显示。我使用一个标志一次只允许一个数字,但它不能正常工作。在描述的代码中,我可以先按两个数字,但我想要第一个 0、第二个 1、第三个 0 等……那么重复数字呢?我复制代码?我还想检查一个按钮是否是 onkeyup 但什么也没有。有什么帮助吗?提前致谢。我的代码:
function keyPressed(event){
var code;
var isKeyRepeating = false;
if(window.event){ //IE
code = event.keyCode;
}
else{ //other browsers
code = event.which;
}
if (code == 48 || code == 96){ //both keycodes for the same number
document.onkeypress("0");
isKeyRepeating = true;
}
if (code == 49 || code == 97){
document.onkeypress("1");
isKeyRepeating = true;
}
else {
event.preventDefault();
isKeyRepeating = false;
}
}
输入字段:
<input style="border-style: inset" size="90" type="text" name="key" id="txtboxToFilter" onkeypress="javascript:keyPressed(event);"/>
【问题讨论】:
-
你想达到什么目的?
-
你需要正则表达式吗?
-
用
else if替换第二次以上的if。否则,else块几乎总是会被执行。 -
您希望用户只输入这些数字吗? “010 141..”或连续两次不同的数字,如“11”。你能再解释一下你想要什么和不想要什么吗?
-
就像大多数人弹钢琴一样:一次只用一根手指:)
标签: javascript onkeyup onkeypress