我的客户需要扫描包含发票编号(5位数)和“输入”按键的条形码。
我需要输入框忽略'enter'键并将焦点移动到5个字符后的下一个输入框。
如果您可以包含一些示例代码,我将不胜感激。谢谢!
答案 0 :(得分:2)
使用文本框的onkeypress或onkeyup并添加代码if(event.keyCode == 13)return false; (13是回车键)并将焦点设置为下一个控件
例如,您有2个文本框(TxtBox1和TxtBox2) <input id="TxtBox1" type="submit" onkeypress="if(event.keyCode==13)return false;document.getElementById('TxtBox2').focus(); " name="Submit" value="Send" />
答案 1 :(得分:1)
$('input[type=text]').on('keyup', function(e) {
if (e.which != 27 || e.which != 8) { // check for backspace and delete
if (e.which != 13) { // ignoring enter
if (!this.value.replace(/\s/g, '').match(/\d/g)) { // checking for digit
alert('Insert Digit');
$(this).val(''); // make the field empty
} else {
if (this.value.length > 4) {
$(this).next().focus(); // automatically change current input of length 5 digits
}
}
}
}
});
<强> DEMO 强>
答案 2 :(得分:0)
一些JQuery:
$('#test').keydown(function(e) {
if (e.which == 13) {
if ($(this).val().length == 5) {
e.preventDefault();
$('#test2').focus();
}
}
});
假设'test'和'test2'是2个文本框的id
答案 3 :(得分:0)
不要忽略输入键,而是将其用作提示来移动事物。有点像:
$("#myTextbox").keydown(function(event){
if(event.keyCode == 13){
// validate input and move on to the next textbox
}
});