javascript-js将form表单序列化[json字符串数组对象]

Posted 木子旭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript-js将form表单序列化[json字符串数组对象]相关的知识,希望对你有一定的参考价值。

1.序列化为字符串

$("#Form").serialize();//name=zhangsan&sex=1&age=20  

2.序列化为数组

  $("#form").serializeArray();//[Object, Object, Object] 

3.序列化为对象

    function getFormJson(form) {
        var o = {};
        var a = $(form).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;
    }

4.ajax传递普通数组 

var deleteNum= [];//定义要传递的数组
deleteNum.push("1");
deleteNum.push("2");
deleteNum.push("3");//向数组中添加元素

$.ajax({
    type:"post",
    url:"deleteNum.do",
    data:{deleteNum:deleteNum},
    traditional: true,//必须指定为true
    success:function(data){
        if(data.success){
            deleteNum = [];
        }
    }
});

后端代码

public AjaxResult deleteNum(String[] deleteNum){
    AjaxResult ajaxResult = new AjaxResult();
    //这个时候已经得到了deleteNum数组值
    return ajaxResult;
}

5.form表单提交自定义对象数组 

<form id="form" name="form"  method="post">
 <input type="hidden" name="table" value="user">
<table> <tr> <td><input type="text" name="userList[0].name"/></td> <td><input type="text" name="userList[0].password"/></td> </tr> <tr> <td><input type="text" name="userList[1].name"/></td> <td><input type="text" name="userList[1].password"/></td> </tr> <tr> <td><input type="text" name="userList[2].name"/></td> <td><input type="text" name="userLIst[2].password"/></td> </tr> </table> </form>

ajax提交

$("#form").serializeArray()

后端接收

    public class FormList {
        private String table;
        private ArrayList<User> userlist;
        
        public String getTable() {
            return table;
        }
        public void setTable(String table) {
            this.table = table;
        }
        public ArrayList<User> getUserlist() {
            return userlist;
        }
        public void setUserlist(ArrayList<User> userlist) {
            this.userlist= userlist;
        }
    }
public AjaxResult saveUpdateUser(FormList list){
    List<User> userlist = list.getUserlist(); 
}

 










以上是关于javascript-js将form表单序列化[json字符串数组对象]的主要内容,如果未能解决你的问题,请参考以下文章

js: 将 form表单序列化

原生js实现form表单序列化

如何将form内的表单序列化为json字符串

将复杂form表单序列化serialize-object.js

序列化多个form表单内容同时提交

JavaScript之form表单的序列化和json化[form.js]