【发布时间】:2018-03-22 13:40:55
【问题描述】:
我正在尝试构建一个网页,您可以在其中搜索数据库中的特定媒体。您有多个复选框来过滤数据。后端查询工作正常。
问题是没有一个复选框将通过 Ajax 提交表单。 将显示警报(“测试”)。如果我通过提交按钮手动提交表单,则会提交表单并显示数据。
HTML:
<form id = "extended_search_form" method = "post" action = "extended_search.cfm">
<div id = "datatype_filter">
<ul class = "selectbox">
<li id = "datatype_filter_select">
Bitte einen Dateityp wählen
<ul class = "checkboxes">
<!--- checkboxes getting loaded on datatype_filter click --->
<!--- example checkbox --->
<li>
<label><input name="datatype_filter_checkboxes" value="1" type="checkbox"> Fotograph</label>
</li>
</ul>
</li>
</ul>
</div>
<input type = "submit" value = "Submit">
</form>
Javascript:
$("#datatype_filter").on("change","input[name=datatype_filter_checkboxes]", function() {
alert("test");
$("#extended_search_form").unbind("submit").submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
console.log(formData);
$.ajax({
url: "test.cfc?method=testSearch",
type: "post",
dataType: "json",
data: formData,
contentType: false,
processData: false,
error: function(event,jqhxr,ajaxSettings,error) {
console.log(error);
}
}).done(function(result) {
alert("Success");
});
});
});
我错过了什么,表单不会在复选框更改事件中提交?
【问题讨论】:
标签: javascript jquery html ajax forms