Javascript 输入 onkeypress 功能不起作用
Javascript input onkeypress function do not work
我把脚本放在head标签里
function check(e, regexp) {
if(navigator.userAgent.indexOf('Gecko') != -1) {
charCode = e.which;
} else {
charCode = e.keyCode;
}
if(charCode > 31) {
znak = String.fromCharCode(charCode);
return regexp.test(znak);
}
}
当我在输入中使用这个函数时
<input id='pole2' name=nip style='WIDTH: 300px;' onkeypress='return check(event, /[0-9-]/i);'>
它与 HTML 配合得很好。
但是当我使用 id='odbiorca' 在 javascript 输入中创建时,如果我尝试使用具有相同代码的 onkeypress
document.getElementById("odbiorca").onkeypress = function() {myfunction()};
function myFunction(){
return check(event, /[0-9- ]/i);
}
它不想工作。怎么了?
问题是你拼错了 myFunction:
document.getElementById("odbiorca").onkeypress = function() {myfunction()};
function myFunction(){
return check(event, /[0-9- ]/i);
}
myFunction 是大写的 F,但你用小写的 f 调用它(myfunction 而不是 myFunction),除此之外它应该可以工作!
编辑:下次尝试先检查您的浏览器控制台。您可能已经看到非常明显的错误:
Uncaught ReferenceError: myfunction is not defined
at HTMLInputElement.document.getElementById.onkeypress
脚本的最后一行应该这样写:
document.getElementById("odbiorca").onkeypress = function(event) {return check(event, /[0-9- ]/i);}
如您所见,错字并不是主要问题。为其他人保留此解决方案。
感谢 Merijn 对浏览器控制台的建议。
我把脚本放在head标签里
function check(e, regexp) {
if(navigator.userAgent.indexOf('Gecko') != -1) {
charCode = e.which;
} else {
charCode = e.keyCode;
}
if(charCode > 31) {
znak = String.fromCharCode(charCode);
return regexp.test(znak);
}
}
当我在输入中使用这个函数时
<input id='pole2' name=nip style='WIDTH: 300px;' onkeypress='return check(event, /[0-9-]/i);'>
它与 HTML 配合得很好。 但是当我使用 id='odbiorca' 在 javascript 输入中创建时,如果我尝试使用具有相同代码的 onkeypress
document.getElementById("odbiorca").onkeypress = function() {myfunction()};
function myFunction(){
return check(event, /[0-9- ]/i);
}
它不想工作。怎么了?
问题是你拼错了 myFunction:
document.getElementById("odbiorca").onkeypress = function() {myfunction()};
function myFunction(){
return check(event, /[0-9- ]/i);
}
myFunction 是大写的 F,但你用小写的 f 调用它(myfunction 而不是 myFunction),除此之外它应该可以工作!
编辑:下次尝试先检查您的浏览器控制台。您可能已经看到非常明显的错误:
Uncaught ReferenceError: myfunction is not defined
at HTMLInputElement.document.getElementById.onkeypress
脚本的最后一行应该这样写:
document.getElementById("odbiorca").onkeypress = function(event) {return check(event, /[0-9- ]/i);}
如您所见,错字并不是主要问题。为其他人保留此解决方案。 感谢 Merijn 对浏览器控制台的建议。