如何在选择变更时提交表格

Ric*_*ton 14 forms jquery select submit

我有以下表格.我想在用户做出选择时通过jQuery自动提交,而无需按下提交按钮.我该怎么做呢?

<form action="" method="post">
    <select name="id" id="cars">
        <option value="">Choose</option>
        <option value="1">Toyota</option>
        <option value="2">Nissan</option>
        <option value="3">Dodge</option>
    </select> 
    <input type="submit" name="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

adeneo,我尝试了你的建议,但它仍然没有用.这是完整的代码,有什么不对吗?

<!doctype html>
<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function() {
            $('#cars').on('change', function() {
                this.form.submit();
            });
        });
        </script>
    </head>
    <body>
        <form action="" method="post">
            <select name="id" id="cars">
                <option value="">Select...</option>
                <option value="1">Toyota</option>
                <option value="2">Nissan</option>
                <option value="3">Dodge</option>
            </select> 
            <input type="submit" name="submit" value="Submit">
        </form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Sig*_*dus 11

您的表单缺少操作值,这会阻止在最后提交表单.但是在中期你应该更正这段代码:

$(document).ready(function() {
  $('#cars').on('change', function() {
     document.forms[myFormName].submit();
  });
});
Run Code Online (Sandbox Code Playgroud)

您也可以通过触发提交按钮点击事件来提交表单:

$(document).ready(function() {
  $('#cars').on('change', function() {
    var $form = $(this).closest('form');
    $form.find('input[type=submit]').click();
  });
});
Run Code Online (Sandbox Code Playgroud)


lar*_*ech 6

代码的更快版本看起来像这样。

<form action="" method="post">
    <select name="id" id="cars" onchange="javascript:this.form.submit()">
        <option value="">Choose</option>
        <option value="1">Toyota</option>
        <option value="2">Nissan</option>
        <option value="3">Dodge</option>
    </select> 
    <input type="submit" name="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

现在我们正在做的是添加 onchange="javascript:this.form.submit()"到您希望提交操作触发的任何字段。当然,这只适用于支持onchange html 属性的元素


Osk*_*kar 5

在我的情况下,这非常有效,并且可以使用或不使用提交按钮.

<form action="" method="post">
    <select name="id" id="cars">
        <option value="">Choose</option>
        <option value="1">Toyota</option>
        <option value="2">Nissan</option>
        <option value="3">Dodge</option>
    </select> 
</form>

 <script type="text/javascript">

  jQuery(function() {
    jQuery('#car').change(function() {
        this.form.submit();
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)


小智 5

只需使用 JavaScript 的帮助。

<select onchange="this.form.submit()">
    ...
</select>
Run Code Online (Sandbox Code Playgroud)