基于jQuery.form.js将表单序列化为json对象

举报
隔壁老汪 发表于 2022/06/24 00:46:00 2022/06/24
【摘要】 基于jQuery.form.js将表单序列化为json对象 jQuery.form.js表单插件,可以让您轻松地在HTML表单中使用AJAX。主要的方法,ajaxForm和ajaxSubmit从表单元素,收集信息,以决定如何管理提交过程。更多方法:formToArray,formSerialize,fieldSerialize,fie...

基于jQuery.form.js将表单序列化为json对象

jQuery.form.js表单插件,可以让您轻松地在HTML表单中使用AJAX。主要的方法,ajaxForm和ajaxSubmit从表单元素,收集信息,以决定如何管理提交过程。更多方法:formToArray,formSerialize,fieldSerialize,fieldValue,clearForm,clearFields,resetForm等

1.serialize()方法

格式:var data = $("#formID").serialize();

功能:将表单内容序列化成一个字符串。

这样在ajax提交表单数据时,就不用一一列举出每一个参数。只需将data参数设置为 $("form").serialize()即可。

2.serializeArray()方法

格式:var jsonData = $("#formID").serializeArray();

功能:将页面表单序列化成一个JSON结构的对象。注意不是JSON字符串。

比如,<{"name":"html580"},{password:'html580'}> 获取数据为 jsonData<0>.name

 

3.$.param()方法,可以把json格式数据序列化成字符串形式

var obj={a:1,b:2}

var s=$.param(obj);

会形成a=1&b=2的形式

 

上面的几种方法都不能满足我们的要求,于是进行了扩展,扩展代码如下:

 

$.fn.serializeJson = function() {
        var o = {};
        var a = this.serializeArray();
        $.each(a, function() {
            if (o) {
                if (!o.push) {
                    o = < o >;
                }
                o.push(this.value || '');
            } else {
                o = this.value || '';
            }
        });
        return o;
}

格式: var jsonData = $("#formID").serializeJson();

 

功能:将页面表单序列化成一个JSON结构的对象

比如:{name:'html580',password:'html580'} 获取数据为 jsonData.name

文章来源: blog.csdn.net,作者:隔壁老瓦,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/wxb880114/article/details/93188366

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。