我尝试使用jQuery在我的html表单中使用相同的名称和deffirent值发送ajax表单,但是当我提交表单时,我的ajax赢了工作并且它将提交给#
。有人能解释我为什么吗?
我的HTML表单:
<script src="lib/jquery/jquery.1.9.0.min.js"> </script>
<form name="Form" action="#" method="POST">
<input name="idnum" type="hidden" value="somevaluehere1">
<button type="submit">btn 1</button>
</form>
<form name="Form" action="#" method="POST">
<input name="idnum" type="hidden" value="somevaluehere2">
<button type="submit">btn 2</button>
</form>
这是我的ajax:
$(document).ready(function() {
$("form[name=form]").submit(function(e){
e.preventDefault()
$.ajax ({
type: "POST",
url: "ajax/post.php",
data: $(this).serialize(),
success: function(data) {
alert(data)
}
});
});
});
对不起我的英国人
答案 0 :(得分:2)
Form
与form
不同。您的选择器与表单不匹配,因为属性选择器值区分大小写。
将$("form[name=form]")
更改为$("form[name=Form]")
。
您可以通过将alert($("form[name=form]").length);
与alert($("form[name=Form]").length);
但请注意the name attribute for form elements should hold a unique value,所以你应该转而使用class属性(然后你可以使用类选择器(form.Form
)。