我检查过here和 here但无法提交我的表格。 (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/