jQuery Ajax表单只发送几个复选框值中的最后一个
jQuery Ajax form only sends last of several checkbox values
我试图用jQuery的$.ajax()函数提交一个表单,它工作,除了它只发送最后几个复选框的值,不管我检查了多少。如果有人能告诉我我做错了什么,我会很感激的。提前感谢!
HTML表单:
<form name="contactFormSmall" id="contactFormSmall" action="" method="post">
<input type="text" name="textfieldname" value="textfieldvalue" />
<input type="checkbox" name="checkboxes" value="Testvalue One" checked="checked" />
<input type="checkbox" name="checkboxes" value="Testvalue Two" checked="checked" />
<input type="checkbox" name="checkboxes" value="Testvalue Three" checked="checked" />
</form>
下面是jQuery处理表单的代码:
var fields = $(":input").serializeArray();
$.ajax({
type: "POST",
contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15",
url: "includes/contact_process_small.php",
data: fields,
success: function(data) {
$('#contactFormSmall').hide();
$("#formFeedback").html(data).show();
}
});
下面是php脚本中print_r($_POST)的结果:
Array
(
[textfieldname] => textfieldvalue
[checkboxes] => Testvalue Three
)
name="checkboxes"
仅在单个元素上是正确的,您必须使用name="checkboxes[]"
更好的序列化表单方法
像这样
数据:$ (' # contactFormSmall ') .serialize (),
并改为name="checkboxes[]
try this:
$('form#contactFormSmall').serializeArray();
name属性是POST数据的键值对中的键。因此,使用name="checkboxes[]"创建数组或使用:
<form name="contactFormSmall" id="contactFormSmall" action="" method="post">
<input type="text" name="textfieldname" value="textfieldvalue" />
<input type="checkbox" name="checkboxA" value="Testvalue One" checked="checked" />
<input type="checkbox" name="checkboxB" value="Testvalue Two" checked="checked" />
<input type="checkbox" name="checkboxC" value="Testvalue Three" checked="checked" />
</form>
分别获取每个复选框的值(这更可能是您想要的)。
相关文章:
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 选中多个具有相同名称的复选框
- 使用$.ajax发布多个复选框
- Angular JS Filter-通过3个复选框进行筛选
- 如果选中了多个复选框,如何添加事件
- 使用jQuery只返回选中复选框后的第一个表单元格值
- 添加具有多个值的复选框
- angularjs复选框验证至少两个
- jquery从2个json字符串构建一个复选框表单
- JavaScript-取决于多个下拉选择或复选框的动态链接
- 无法限制所选复选框的数量(尝试了多个代码段)
- 我有多个复选框,并希望为其中 2 个制定规则,以便如果我选择 1 个,则无法选择另一个
- 如何在取消选中几个复选框后使“全选”复选框可用
- Angularjs ng禁用了几个复选框输入按钮
- jQuery Ajax表单只发送几个复选框值中的最后一个
- 重置出现在几个页面上的所有复选框
- 如何输入'onchange'事件上的几个复选框
- 几个复选框和验证jQuery
- 在为几个问题检查了多个复选框后,如何停止检查复选框