2013-04-26 67 views
0

其实我使用条码扫描器输入字段。 实施例,如果我有3场,这就是:完成全部字段后自动提交表格

部分条码:
物品条形码:
串行条码:

的步骤:在部分条码文本字段
1.扫描条码部分条形码
2.扫描项目条码文本栏中项目条码的条码
3.扫描串行条码文本栏中串行条码的条码,扫描完成后自动提交。

下面是代码:

Part Barcode <input type="text" name="part_barcode"/> 
Item Barcode <input type="text" name="item_barcode"/> 
Serial Barcode <input type="text" name="serial_barcode"/> 

<input type="submit" value="Submit"/> 

所以现在的问题是,如何使自动提交,如果所有字段已经被填补?

谢谢。

+0

嗨,问题是:如何让在所有领域已经充满自动提交? – 2013-04-26 02:20:08

+0

当输入被更改并且没有任何内容为空时,是否尝试过执行'$('form')。submit()'? – viclim 2013-04-26 02:22:48

+0

我们的仓库有类似的问题 - 如果我正确记得,我们只是在最后一个条形码的末尾编码回车。你是否为第3步创建了条形码?如果是这样,那可能是您的一个选择。 – 2013-04-26 02:39:35

回答

1
function DoValidate(){ 
// check your validate here, 
//if all field pass: return true, if not : return false; 

//ex: return $('input[name="part_barcode"]).val().length>10; 
} 

$('input[name="part_barcode"],input[name="item_barcode"],input[name="serial_barcode"]').keypress(function(){ 
    if(DoValidate()) $('#yourForm').submit(); 
    //or: $('input[type="submit"]').trigger('click'); 
}); 
+0

你怎么知道OP使用jQuery? – j08691 2013-04-26 02:31:53

+0

是的,真的没有必要的jQuery。 – SimonDever 2013-04-26 02:43:57

0

你没有给我们你的表格名称,所以我在我的代码中假设它具有属性id="formID"。演示jsfiddle

HTML:

<label for="part_barcode">Part Barcode</label> 
<input type="text" id="part_barcode" class="barcode" name="part_barcode"/> 
<label for="item_barcode">Item Barcode</label> 
<input type="text" id="item_barcode" class="barcode" name="item_barcode"/> 
<label for="serial_barcode">Serial Barcode</label> 
<input type="text" id="serial_barcode" class="barcode" name="serial_barcode"/> 
<input type="submit" id="submitButton" value="Submit"/> 

的JavaScript:

var inputs = document.getElementsByClassName('barcode'); 
for(var i = 0; i < inputs.length; i++) 
{ 
    inputs[i].onblur = function() 
    { 
     var empty = false; 

     for(var j = 0; j < inputs.length; j++) 
     { 
      if(inputs[j].value == '') 
      { 
       empty = true; 
       break; 
      }     
     } 

     if(!empty) 
      document.getElementById("submitButton").submit(); 
    } 
}