Javascript将Form数据转化成Json对象

Javascript 2019-12-03 阅读 2494 评论 0

有时候需要将表单Form的input、select、textarea等标签的数据,转化成json格式的数据,以便操作,Jquery的serializeArray 方法已经可以实现将Form的数据序列化为一个数组,只要稍微在这个方法的基础上做些修改即可转化为js的object对象。

方法1

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

方法2

var data = {};
$("form").serializeArray().map(function(x){
	if (data[x.name] !== undefined) {
        if (!data[x.name].push) {
            data[x.name] = [data[x.name]];
        }
        data[x.name].push(x.value || '');
    } else {
        data[x.name] = x.value || '';
    }
});

演示

亲自试一试。前往演示:Demo

最后更新 2019-12-29