使用 jquery 从表单中检索数据
Retrieve data from a form using jquery
我正在尝试从表单中获取信息并将其传递给 mysql。这是我的方法:
var form = [];
$("input").each(function(){
var id = $(this).attr("name");
var value = $(this).val();
alert(id);
var item = {};
item ["name"] = id;
item ["value"] = value;
form.push(item);
});
return JSON.stringify(form);
问题是当我尝试从单选按钮获取选中和未选中的值时。我想传递给 mysql 的查询字符串输出如下:
insert into contatos (nome, rua, sexo, sexo, ncasa, civil, civil, civil, bairro, aniversario, cidade, rg, cpf, usuario, telefone, senha, email, confirmasenha) values ('', '', 'M', 'F', '', 'S', 'C', 'D', '', '', '', '', '', '', '', '', '', '')
字段 "sexo" 和 "civil" 重复。如何使输入仅读取单选按钮 1 次?
这是因为你在每个文本字段上迭代,如果你有 3 个单选按钮,你会将所有 3 个值推送到数组,所以我在 sexo 和 civil 外部循环中使用了 2 个单选字段,所以它只会被推送 1 次并且不再重复。
$("input").each(function(){
if(id!='sexo' || id!='civil'){
var id = $(this).attr("name");
var value = $(this).val();
var item = {};
item ["name"] = id;
item ["value"] = value;
form.push(item);
}
});
var value1 =$('input:radio[name=sexo]:checked').val();
var value2 =$('input:radio[name=civil]:checked').val();
var item = {};
item ["name"] = "sexo";
item ["value"] = value1;
form.push(item);
var item = {};
item ["name"] = "civil";
item ["value"] = value2;
form.push(item);
return JSON.stringify(form);
如果您在 jQuery 表单元素上调用 serializeArray
,您将获得一组对象,类似于您正在创建的对象,并且会避免重复:
$('form').serializeArray();
将return:
[
{
name: "firstfield",
value: "1"
},
{
name: "secondfield",
value: "2"
}
]
我正在尝试从表单中获取信息并将其传递给 mysql。这是我的方法:
var form = [];
$("input").each(function(){
var id = $(this).attr("name");
var value = $(this).val();
alert(id);
var item = {};
item ["name"] = id;
item ["value"] = value;
form.push(item);
});
return JSON.stringify(form);
问题是当我尝试从单选按钮获取选中和未选中的值时。我想传递给 mysql 的查询字符串输出如下:
insert into contatos (nome, rua, sexo, sexo, ncasa, civil, civil, civil, bairro, aniversario, cidade, rg, cpf, usuario, telefone, senha, email, confirmasenha) values ('', '', 'M', 'F', '', 'S', 'C', 'D', '', '', '', '', '', '', '', '', '', '')
字段 "sexo" 和 "civil" 重复。如何使输入仅读取单选按钮 1 次?
这是因为你在每个文本字段上迭代,如果你有 3 个单选按钮,你会将所有 3 个值推送到数组,所以我在 sexo 和 civil 外部循环中使用了 2 个单选字段,所以它只会被推送 1 次并且不再重复。
$("input").each(function(){
if(id!='sexo' || id!='civil'){
var id = $(this).attr("name");
var value = $(this).val();
var item = {};
item ["name"] = id;
item ["value"] = value;
form.push(item);
}
});
var value1 =$('input:radio[name=sexo]:checked').val();
var value2 =$('input:radio[name=civil]:checked').val();
var item = {};
item ["name"] = "sexo";
item ["value"] = value1;
form.push(item);
var item = {};
item ["name"] = "civil";
item ["value"] = value2;
form.push(item);
return JSON.stringify(form);
如果您在 jQuery 表单元素上调用 serializeArray
,您将获得一组对象,类似于您正在创建的对象,并且会避免重复:
$('form').serializeArray();
将return:
[
{
name: "firstfield",
value: "1"
},
{
name: "secondfield",
value: "2"
}
]