gpt4 book ai didi

javascript - 在 Jquery 中将复选框值作为 JSON 传递

转载 作者:行者123 更新时间:2023-11-30 08:48:02 24 4
gpt4 key购买 nike

我有一个输入表单,其中包含三个文本字段和一个复选框输入部分,用户可以在其中选择多个值。我还有一个 ajax 请求,它向 api 发送 POST 请求。我已经编写了一个函数来遍历表单输入并将它们解析为 JSON,但是,我注意到这不适用于复选框值。这是我的功能:

<script>
console.log(document);
var form = document.getElementById("myform");

form.onsubmit = function (e) {
// stop the regular form submission
e.preventDefault();

// collect the form data while iterating over the inputs
var info = {};
for (var i = 0, ii = form.length; i < ii; ++i) {
var input = form[i];
if (input.name) {
info[input.name] = input.value;
}
addPerson(info);
}
}

function addPerson(info) {
$.ajax({
type: "POST",
url: "http://example.com",
data: JSON.stringify(info),
contentType: "application/json; charset=utf-8",
crossDomain: true,
dataType: "json",

success: function (data, status, jqXHR) {
alert("success");
},

error: function (jqXHR, status) {
// error handler
console.log(jqXHR);
}
});
}
</script>

我一直在尝试使用

将复选框值转换为 JSON
$.each($('input[id="data[i].id"]:checked'), function() {
var value = $(this).val();
qualifications.push(value);
});

但我不知道如何将这些值添加到正在发布到服务器的 JSON 中,有人可以帮忙吗?

最佳答案

已经尝试过 .serialize() 并且我认为它正在工作-

<script>

$.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;
};

$(function() {
$('myform').submit(function() {
$('#result').text(JSON.stringify($('myform').serializeObject()));
return false;
});
});


function addPerson(result){
$.ajax({
type: "POST",
url: "http://example.com",
data: JSON.stringify(result),
contentType: "application/json; charset=utf-8",
crossDomain: true,
dataType: "json",

success: function (data, status, jqXHR) {

alert("success");
},

error: function (jqXHR, status) {
// error handler
console.log(jqXHR);

}
});
}




</script>

如果有人对上述方法的有效性有任何想法/意见,或者是否有更好的方法,我想听听他们的意见?

关于javascript - 在 Jquery 中将复选框值作为 JSON 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20219027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com