jquery序列化多个具有相同名称

时间:2015-10-15 03:05:55

标签: jquery ajax forms serialization checkbox

我搜索过并搜索过但找不到符合我确切情况的答案。我希望有人可以提供帮助。

我正在尝试"改造"一个使用框架的网站现在使用ajax和div。一切顺利,除了......

此网站有多种形式。我正在尝试编写jquery代码来处理所有表单(当然使用ajax)。因此,使用id选择器等。当使用serialize()来处理具有相同名称的多个复选框时,会出现真正的问题。

考虑以下情况:

HTML

<form name="theform" method="post" action="form.cgi">
<input type="hidden" name="directory" value="test">
<input type="checkbox" name="file" value="file1.txt">
<input type="checkbox" name="file" value="file2.txt">
...
<input type="checkbox" name="file" value="file10.txt">
<input type="submit" name="submit" value="Submit">
</form>

的jQuery

$(':submit').click(function(e){
e.preventDefault();
//Serialize form data from the parent form of the clicked submit button
//This will enable handling of all forms across the site
var formData=$(this.form).serialize();
$.ajax({type: "POST", url: "form.cgi", data: formData, cache: false, 
contentType: false, processData: false, success:function({alert(formData);}});
});

这会导致警报仅显示directory字段和相应的值。没有复选框(选中复选框,即)显示在数据字符串中。

为什么serialize()没有处理复选框?我已经阅读了在复选框中循环的情况,但我不确定这是否可行。另请注意,处理脚本使用格式为name=value的数据,因此输入的数据应该类似于file=file1.txt&file=file2.txt&file=file3.txt

希望有人可以帮助我......这让我感到迷茫。

0 个答案:

没有答案