扫码枪扫描多个二维码在明细行自动增行自动定位输入框

扫码枪扫描二维码需要满足这样的需求:1、打开表单,自动定位到 扫姓名那个,扫描之后带出姓名等,2,之后自动定位到 明细表 编码列,扫描一个之后,自动增行,鼠标定位在第二行的编码列

扫码枪扫描多个二维码在明细行自动增行自动定位输入框_第1张图片
第一点可以在完毕后直接focus到输入框既可;
第二点思路是在表单写一个键盘的按键事件onkeydown,二维码扫描后一般是默认执行enter键,首先判断明细行第一行有没有值,没有值直接focus到第一行,如果第一行有值了,那么执行添加一行的js,然后获取最大的行号,然后focus到这个新增的行,需要注意由于bpm这个新增行之后不能直接获取到新增的行,所以可写一个延迟方法里面执行foucus方法;

下面是对照思路的两个js截图:仅是对于bpm开发的代码写法;

扫码枪扫描多个二维码在明细行自动增行自动定位输入框_第2张图片

 

 

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();
                   }
                }
            }

         }
 

你可能感兴趣的:(扫码枪扫描多个二维码在明细行自动增行自动定位输入框)