扫码枪扫描二维码需要满足这样的需求:1、打开表单,自动定位到 扫姓名那个,扫描之后带出姓名等,2,之后自动定位到 明细表 编码列,扫描一个之后,自动增行,鼠标定位在第二行的编码列
第一点可以在完毕后直接focus到输入框既可;
第二点思路是在表单写一个键盘的按键事件onkeydown,二维码扫描后一般是默认执行enter键,首先判断明细行第一行有没有值,没有值直接focus到第一行,如果第一行有值了,那么执行添加一行的js,然后获取最大的行号,然后focus到这个新增的行,需要注意由于bpm这个新增行之后不能直接获取到新增的行,所以可写一个延迟方法里面执行foucus方法;
下面是对照思路的两个js截图:仅是对于bpm开发的代码写法;
function Sub11()
{
//判断是否enter键
if(event.keyCode==13)
{
var code= $("#XTextBox5").find(".yz-xform-field-ele")[0].value;
var i=$("#XTextBox13").find(".yz-xform-field-ele")[0].value;
//明细行第一行是否有值
if(code!=""){
var item0=$('[id=XTextBox9]').find(".yz-xform-field-ele")[0].value;
if(item0!=""){
//新增一行
$("input[name='XAddBlockButton1']").click();
//获取行号
i=parseInt(i);
//延时把焦点挪到新增的行
setTimeout(function(){ $('[id=XTextBox9]').find(".yz-xform-field-ele")[i].focus(); }, 1);
}else{
$('[id=XTextBox9]').find(".yz-xform-field-ele")[0].focus();
}
}
}
}