layui表单如何以自定义格式传值给后台
数据如下:
第一段拆分:itemId:{181,182,183,184} checkstate{1,0,1,0,0}
这一段的条数会自动改变
提交 前 能获取到数据吗?submit 事件 可以获取到 data 。 能的话,自己 处理一下数据
可以将表单中的数据以JSON格式的字符串的形式提交给后台。具体的实现方式如下:
<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">
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,以告诉后台数据的格式。