进入正题之前,首先说明一下这里的情况。
因为我的input输入框全部都是使用JS代码动态生成的,也就是说我在页面里面点击一次按钮就会生成几个输入框。所以我使用了JQuery的$("#id").on("keydown","input",function()特性来实现捕捉总输入框的个数与按一次回车指向下一个输入框,直到最后一个输入框。
在这里是使用JQuery实现的,代码如下:
//para_table 是一个id选择器,这里绑定在这个选择器上
$("#para_table").on("keydown","tr input",function(){
//响应回车键按下的处理
var e = event || window.event || arguments.callee.caller.arguments[0];
//捕捉是否按键为回车键,可百度JS键盘事件了解更多
if(e && e.keyCode==13) {
//捕捉para_table下的tr里面文本输入框的个数
var inputs = $("#para_table tr ").find(":text");
console.log(inputs.length);
var idx = inputs.index(this); // 获取当前焦点输入框所处的位置
if (idx == inputs.length - 1) { // 判断是否是最后一个输入框
//if (confirm("最后一个输入框已经输入,是否提交?")) // 用户确认
// $("form[id='save']").save(); // 提交表单
} else {
inputs[idx + 1].focus(); // 设置焦点
inputs[idx + 1].select(); // 选中文字
}
}
});