javascript - JQuery 提交表单 - 发现错误

标签 javascript jquery html

我检查过herehere但无法提交我的表格。 (Jquery 菜鸟...)

<html>
<head>
    <title>Book Notes Application - Subjects</title>
    <script src="http://code.jquery.com/jquery-latest.min.js"
        type="text/javascript"></script>
    <script>
        $(document).ready(function(){
            $('#subject_id').change(function(){
                var subject_id = $(this).val();
                //alert(subject_id)
                //document.forms["choose_subject"].submit();
                $('#choose_subject').submit();
                //$('form#choose_subject').submit();
                //$('form#choose_subject')[0].submit();
                //alert(subject_id);
                //document.getElementById("choose_subject").submit();
            })
        })
    </script>
</head>
<body>
    <!-- CHOOSE SUBJECT -->
    <FORM action="/books" id="choose_subject" name="choose_subject" method="POST">
        Choose a Subject:
        <select name="subject_id" id="subject_id">
                <option value="1">a</option>
                <option value="2">a2</option>
        </select><input type="submit" name="submit" value="Choose Subject"/>
        <BR />
    </FORM>
    <!-- CREATE SUBJECT -->
    <FORM action="/subjects" id="create_subject" method="POST">

        <BR /><BR />
        Create a new Subject
        <input type="text" name="subject_name" />
        <input type="submit" name="submit" value="Create Subject" />
    </FORM>
<body>
</html>

我已经尝试过以下每种方法:

1) document.forms["choose_subject"].submit();
2) $('#choose_subject').submit();
3) $('#choose_subject')[0].submit();
4) $('form#choose_subject').submit();
5) $('form#choose_subject')[0].submit();
6) document.getElementById("choose_subject").submit();

第一个和最后一个结果出现“TypeError:document.forms.choose_subject.submit 不是函数。

第二个和第四个没有错误,但它们也没有执行任何操作。

第三个和第五个错误为“TypeError: $(...)[0].submit is not a function”

如果我删除第二种形式,这些结果仍然成立。

单击提交按钮可以按预期工作。

最佳答案

更改输入元素的名称:

<input type="submit" name="submit" value="Choose Subject"/>

除“提交”之外的其他内容。作为.submit() docs state :

Forms and their child elements should not use input names or ids that conflict with properties of a form, such as submit, length, or method. Name conflicts can cause confusing failures.

<强> jsFiddle example

关于javascript - JQuery 提交表单 - 发现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22597357/

相关文章:

javascript - 在 AngularJS 中,ui-view 加载的内容无法读取父内容中的 javascript 文件

javascript - 更改 - css - backgroundColor 函数(纯 javascript)不起作用

javascript - 有没有办法让窗口事件先触发

Jquery分割函数

php - Javascript 获取浏览器视口(viewport)大小并输出到主体 CSS

javascript - 使用 jquery 或 javascript 更改 slider 图像 src

javascript - JQuery/JavaScript 日历 slider

javascript - 从数组中选择一个随机值给出未定义的

javascript - 如何动态设置 md-autocomplete 的必填字段

javascript - 更改子组件状态会更改父组件 props