layui表单如何以自定义格式传值给后台

layui表单如何以自定义格式传值给后台
数据如下:

img

第一段拆分:itemId:{181,182,183,184} checkstate{1,0,1,0,0}
这一段的条数会自动改变

提交 前 能获取到数据吗?submit 事件 可以获取到 data 。 能的话,自己 处理一下数据

以下内容部分参考ChatGPT模型:


可以将表单中的数据以JSON格式的字符串的形式提交给后台。具体的实现方式如下:

  1. 首先,给每个表单元素添加一个name属性,用于标识该元素的名称,例如:
<input type="text" name="itemId[]" value="181">
<input type="text" name="itemId[]" value="182">
<input type="text" name="itemId[]" value="183">
<input type="text" name="itemId[]" value="184">
<input type="checkbox" name="checkstate[]" value="1">
<input type="checkbox" name="checkstate[]" value="0">
<input type="checkbox" name="checkstate[]" value="1">
<input type="checkbox" name="checkstate[]" value="0">
<input type="checkbox" name="checkstate[]" value="0">
  1. 在提交表单时,使用jQuery或者原生的JavaScript代码将表单元素的值以JSON格式的字符串的形式提交给后台,例如:
var formData = $('form').serializeArray();
var data = {};
for (var i = 0; i < formData.length; i++) {
    var name = formData[i].name;
    var value = formData[i].value;
    if (data[name]) {
        data[name].push(value);
    } else {
        data[name] = [value];
    }
}
var jsonData = JSON.stringify(data);
$.ajax({
    url: 'yourUrl',
    type: 'POST',
    data: jsonData,
    contentType: 'application/json',
    success: function(result) {
        // 处理返回结果
    },
    error: function() {
        // 处理错误情况
    }
});

在上面的代码中,先使用serializeArray()方法将表单元素序列化成一个数组,然后将数组转换成一个JSON对象,最后使用JSON.stringify()方法将JSON对象转换成JSON格式的字符串。最后,将JSON格式的字符串作为POST请求的参数提交给后台。注意,需要设置contentType为application/json,以告诉后台数据的格式。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快