如何在jquery中自动点击提交按钮

时间:2017-05-16 08:26:14

标签: php jquery html ajax

我有一个ScanField。在这个领域我正在扫描条形码。之后,我正在剪切bardcode-string的最后四个字符并将其提供给hiddenField。当我点击搜索按钮时,从隐藏的字段中,我通过ajax将其传递给php网站。

例如:我正在扫描条形码:隐藏字段中的TWRG000000009102显示9102,之后我将值传递给ajax。

Everthing工作正常,但我想自动完成。当隐藏的inputField被填充时,它应该触发一个事件并将值传递给ajax。

我的代码:

    <label for="myType">
        <select id="myType" name="myType" size="5">
            <option value="01">B&C</option>
            <option value="02">James Nicholson</option>
            <option value="F.O.L">Fruit Of The Loom</option>
            <option value="TeeJays">TeeJays</option>
        </select>
    </label>
    <br>
    <label for="hiddenField">hiddenField:</label>
    <input type="text" name="hiddenField" style="width:300px"><br>
    <label for="myScan">Scanfield:</label>

    <input type="text" name="myScan" style="width:300px" autofocus>
    <button type="submit">Search</button>
<div id="result"></div>
<script>
$(document).ready(function(){
    $('input[name=myScan]').on('keypress', function(e){
        if(e.which == 13) {
            var scanField = $(this).val();
            console.log(scanField);
            var lastFour = scanField.substr(scanField.length - 4);
            $('input[name=hiddenField]').val(lastFour);
        }
    });

    $('button').on('click', function(){
        var postForm = {
            'myType' : $('#myType').val(),
            'myScan' : $('input[name=hiddenField]').val()
        };
        $.ajax({
            url: "index.php",
            type: "POST",
            data: postForm,
            dataType: "text",
            success: function(data){
                $('#result').html(data);
            }
        });
    });
});

这里是html示例:https://jsfiddle.net/froouf9f/

1 个答案:

答案 0 :(得分:0)

将值保存到隐藏字段后,您可以使用以下方法触发按钮点击事件:

$("button").trigger("click");

试试这个:

$('input[name=myScan]').on('keypress', function(e){
        if(e.which == 13) {
            var scanField = $(this).val();
            console.log(scanField);
            var lastFour = scanField.substr(scanField.length - 4);
            $('input[name=hiddenField]').val(lastFour);
            $("button").trigger("click");
        }
    });