我希望在我的手机输入中忽略某些字符,以便数据库只有数字。我知道可以在服务器端轻松完成此操作(使用PHP),但我正在尝试更好地理解js事件。我的问题是:
如果我有一个基本输入框:
如果我有一个基本输入框:
var phoneInput = document.getElementById("phoneInput");
我可以使用“onkeydown”添加事件监听器,这可以很好地工作
phoneInput.onkeydown = function(e){
var c = String.fromCharCode(e.keyCode);
var patt = /\d/;
if(!patt.test(c)) return false;
};
但是,如果我尝试使用“addEventListener”做同样的事情,返回false似乎没有任何效果。
phoneInput.addEventListener("keydown",function(e){
var c = String.fromCharCode(e.keyCode);
var patt = /\d/;
if(!patt.test(c)) return false;
});
我就是不明白为什么。非常感谢您能在这个问题上给予任何帮助。
type="number"
?[你仍然需要支持缺乏支持的浏览器。] - epascarello