我有一些文本字段,我希望用户只能编写数字,也希望TAB能够轻松地转到其他输入。我有这个javascript代码:
function validateNumbers(event) {
if(event.charCode >= 48 && event.charCode <= 57){
return true;
}
return false;
}
在HTML中,我使用属性 onkeypress 来调用该函数。
您能否帮助我使用我的代码来接受TAB密钥?
答案 0 :(得分:1)
请注意,此代码无法在移动浏览器中使用。
$(document).ready(function() {
$("#txtboxToFilter").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
});
答案 1 :(得分:0)
您可以在输入标记中使用a.filter(x => b.contains(x._2))
属性,使用1,2等数字指定下一个需要关注的输入。
答案 2 :(得分:0)
取代keypress
,处理keydown
并删除所有非数字值
var input = document.querySelectorAll( "input" );
Array.from( input ).forEach( function( el ){
el.addEventListener( "keyup", validateNumbers );
});
function validateNumbers(event)
{
var inputObj = event.currentTarget;
inputObj.value = inputObj.value.replace(/[^0-9]/g, "");
}
&#13;
<input/>
<input/>
&#13;