javascript网页form表单转json对象

2020-12-04T14:02:00

表单提交是一个特别常见的需求,不过对于现在的前端开发而言,以前的提交模式已经无法实现现在的新需求了。因为老式的表单提交存在很多的限制,而且页面也是会跳转的,但是现在的请求一般都采用接口的形式,所有的数据渲染,加载都可以高效率的在当前页面完成,而不需要反复的跳转来跳转去。
但是这种模式也存在一个问题,就是表单提交的时候,需要给每个表单元素绑定id来进行值的获取,而以前的表单基本的都是直接把name作为字段。所以,需要有一个简便的办法,通过js直接将表单转为json格式用于接口请求,而json中的字段名称,就是表单元素的name值。

方法如下:

1.html部分

<form id="form-box">
    <input type="text" name="username" value=""/>
    <input type="text" name="pass" value=""/>
    <input type="text" name="sex" value=""/>
    <button type="button" onclick="sub()">提交</button>
</form>

2.js部分,我这里引入了jquery来让代码更加简便

function sub(){
    var data = {};
    var t = $('#form-box').serializeArray();
    $.each(t, function() {
        data[this.name] = this.value;
    });
}

在这里serializeArray() 方法用于序列化表单值,随后再进行循环处理,生成标准可用的json数据。
效果如下所示:

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »