繁体   English   中英

用jQuery强制表单提交按钮单击

[英]force form submit button click with jquery

尝试从JQuery触发提交功能。 我究竟做错了什么? 从理论上讲,这应该起作用。 我尝试了大约4种不同的方式。

我努力了

$('input#submit').trigger("click");

$( form:first ).submit();

$( form:first ).trigger("submit");

$('form#databaseActionForm').submit();

还没有工作(还)吗?

码:

<html lang="en">
<head>
    <title>Database Management</title>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
        <script src="http://code.jquery.com/jquery-3.1.0.min.js" integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s=" crossorigin="anonymous"></script>
        <style>
            table td { border: 1px solid black; }
            table td:first-child { text-align: left; }
        </style>
    <script>
        <!--
        $(document).ready(function() {
            $('#erase').click(function() {
                if (confirm("Are you sure that you want to ERASE ALL DATA from the database?"))
                {
                    $('#buttonTypePressed').val("erase");
                    $('input#submit').trigger("click"); <!-- HERE -->
                }
            });

            $('#update').click(function() {
                var appID = $('#updateAppID').val();
                var field = $('#fieldName').val();
                var value = $('#newValue').val();

                if (appID == null || appID == "") {
                    alert("You must enter the ID number of the entry you wish to modify.");
                    $('#updateAppID').focus();
                }
                else if (field == null || field == "") {
                    alert("You must choose which field you wish to modify.");
                    $('#fieldName').focus();
                }
                else if (value == null || value == "") {
                    alert("You must choose the new value you wish to appear in the database.");
                    $('#newValue').focus();
                }
                else {
                    $('#buttonTypePressed').val("update");
                    $('input#submit').trigger("click"); <!-- HERE -->
                }
            });

            $('#delete').click(function() {
                var appID = $('#deleteAppID').val();

                if (appID == null || appID == "") {
                    alert("You must enter the ID number of the entry you wish to delete.");
                    $('#deleteAppID').focus();
                }
                else {
                    $('#buttonTypePressed').val("delete");
                    $('input#submit').trigger("click"); <!-- HERE -->
                }
            });
        });
        -->
    </script>
</head>
<body>
    <div id="container">
        <from id="databaseActionForm" name="databaseActionForm" method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
            <table border=0 style="margin: 50px auto; text-align: right;">
                <tr style="text-align: center; font-weight: bold; font-size: 1.5em; text-decoration: underline;">
                    <th>Action</th>
                    <th>Additional Info</th>
                    <th>Button</th>
                </tr>
                <tr name="Clear">
                    <td>Erase Database</td>
                    <td style="text-align: center;">ARE YOU SURE?</td>
                    <td><input type="button" id="erase" name="erase" value="ERASE ALL?" /></td>
                </tr>
                <tr name="Update">
                    <td>Update Value</td>
                    <td>
                        Entry ID: <input type="text" id="updateAppID" name="updateAppID" placeholder="App entryID" /><br />
                        Field Name: <input type="text" id="fieldName" name="fieldName" placeholder="Field to change" /><br />
                        New Value: <input type="text" id="newValue" name="newValue" placeholder="New value" /><br />
                    </td>
                    <td><input type="button" id="update" name="update" value="Update Value" /></td>
                </tr>
                <tr name="Delete">
                    <td>Delete Payment</td>
                    <td>
                        Entry ID: <input type="text" id="deleteAppID" name="deleteAppID" placeholder="App entryID" />
                    </td>
                    <td><input type="button" id="delete" name="delete" value="Delete Entry" /></td>
                </tr>
            </table>
            <input type="hidden" id="buttonTypePressed" name="buttonTypePressed" />
            <input type="submit" id="submit" name="submit" value="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;" tabindex="-1"/>
        </form>
    </div>
</body>

这里有2个问题,其中1个是元素名称form的错字,您from发给它。

另一个是提交按钮的名称/标识,不应submit ,因为它将覆盖form元素的默认submit属性(函数)

<input type="submit" id="bsubmit" name="bsubmit" value="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;" tabindex="-1" />

然后只需使用以下代码段提交表单

$('#databaseActionForm').submit();

演示: 小提琴

我认为问题是您将“ form”拼写为“ from”。 检查语法突出显示。 之后,以下任何一项都可以使用:

$('form#databaseActionForm').submit();

$('#databaseActionForm').submit(); // referencing the form's ID

document.databaseActionForm.submit(); // referencing the form's NAME

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM