修改序列化表单函数以获取输入ID而不是名称
modify serialize form function to take input ID instead of name
我有一个JavaScript函数,它在表单上迭代,以根据输入字段的名称获得输入值。然而,为了满足API请求后的参数,我需要以下JSON格式的输入:
{
"name": "mobile offers",
"group_id": "35"
}
其中"name"字段是从文本框输入的结果,"group_id"字段是通过复选框选择选项的结果。如何更改此函数,使其根据文本框字段的名称和复选框的id进行输入?
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
我尝试过使用两个单独的函数来完成这项工作,一个用于name,另一个用于id,但我不知道如何将输出组合在一起,并且将表单序列化两次是没有意义的。
如果复选框的name
不正确,只需在序列化之前将其更改为id的值即可
$(':checkbox').attr('name',function(){
return this.id;
});
/* now serialize form*/
相关文章:
- 如何将输入类型值或id从一个jsp传递到另一个jsp页面
- 禁用Tab键以进行具有特定Div ID的输入
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- <输入id=“;“到期”;type=“;月份;min=“;2016-05”>如何填写“;min”;属性与当前
- 更改具有相同id的输入类型的所有值
- 如何获取具有相同id的多个输入值
- 使用getElementById设置动态ID的输入字段的样式
- 通过单击链接(兄弟姐妹?)从无线电输入中获取id
- 传递来自<输入类型=“;文件“;id=“;文件“/>尽管还有一个按钮点击
- 动态添加id's到输入字段
- 为什么Bootstrap typeahead不适用于具有相同ID的输入元素
- 当一个输入与另一个输入的 ID 具有相同的名称时的含义
- jquery如何检测当前输入id
- 使用AJAX发送隐藏的ID输入字段
- 验证表单按id输入val
- 按钮更改由按钮id输入的表单文本区域
- 如何使用 id 输入类型=“文本”JavaScript 中的值设置自动 2 个十进制数
- 设置 ID 输入 (DOM) 问题
- 使用值动态更改输入id-输入类型=范围
- 选择与实习生在CSS选择器ID输入字段