完成所有字段后自动提交表单

时间:2013-04-26 02:15:17

标签: javascript forms

实际上我使用条形码扫描仪输入字段。 例如,如果我有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"/>

所以问题是,如果所有字段都已填满,如何自动提交?

谢谢。

2 个答案:

答案 0 :(得分: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');
});

答案 1 :(得分: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();
    }
}