2 u011844490 u011844490 于 2016.02.24 13:31 提问

form 转json的问题··········

下面是将表单数据转换成json对象
其中的 o[this.name] 老不理解是什么意思?求大神指教!
var 0={};表示声明一个json对象
o[this.name]是什么意思啊?这是什么写法啊?

     // 将表单数据转换成json对象
    $.fn.serializeObject = function() {    
       var o = {};    
       var a = this.serializeArray();
       $.each(a, function() {
           if (o[this.name]) {
               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; 
    };

5个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.02.24 13:34
 var o={a:"2"}

o["a"]等价于o.a
也就是o[this.name] 就是取值,key是this.name的值
bdmh
bdmh   Ds   Rxr 2016.02.24 13:36

o[this.name],其中o就是你转换后的对象,那么可以通过对应的字段名访问,this.name就是一个值,这个值在 o 中存在同名的字段,然后取出对应的值

showbo
showbo   Ds   Rxr 2016.02.24 13:42

o是对象,取属性可以使用点操作符号也可以使用[]操作符号,点操作符号需要明确属性,不能是变量,如o.a等价于o['a'],[]可以使用变量获取

u013196231
u013196231   2016.02.24 14:34

serializeArray()函数用于序列化一组表单元素,将表单内容编码为一个JavaScript数组。

serializeArray()函数常用于将表单内容序列化为JSON对象,以便于被编码为JSON格式的字符串。

该函数会将可用于提交的每个表单控件封装成一个Object对象,该对象有name和value属性,对应该表单控件的name和value属性。然后将这些Object对象封装为一个数组并返回。图片说明

看一下控制台输出的 : 就是name,value键值对,此处的this.name 就是 a的name,o[this.name] 可以拆成var oname = this.name;o[oname]

cai13826443073
cai13826443073   2016.04.23 17:57
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Json转换Form
Json转换Form(Json2Form Plugin)   2011-03-03 10:57:00|  分类: JQuery |字号 订阅 /* jQuery json2form Plugin   * version: 1.0 (2011-03-01)  *  * Copyright (c) 2011, Crystal, shimingxy@163.com
form转json方法
一个github上的开源jquery项目,用来把form转成json,很好用 项目地址: https://github.com/marioizquierdo/jquery.serializeJSON/blob/master/jquery.serializejson.js /*! SerializeJSON jQuery plugin. https://github.com/mar
form 转json最佳示例
form 转json最佳示例
form表单转json字符串
ajax传输数据到后台,form表单转json字符串
JQuery Form表单转JSON(支持复杂数据版)
关于Form表单转封装JSON的网上又很多,但是目前没找到可以封装Object嵌套的,所以稍微修改了下 网上通常写法: $.fn.toJSON = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() {
如何把一个表单form变成Json对象
在很多情况下,我们需要把一个表单变成一个Json对象,好比我们在登录页面,我们有用户名和密码2个输入框,我们期望我可以通过一个方法把它Json对象,如下: { "Username":"TestName", "Password":"TestPwd" }那样的话就可以比较轻松的传递数据,以及在Js中调用表单数据。 在实现这个方法之前我们需要了解几个函数:serializeArray()  JSON
form表单数据 转json 对象最佳示例
先看效果图 就是图一到图二的过程 >   html xmlns="http://www.w3.org/1999/xhtml">   head>   meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   script type="application/javasc
jquery form序列化转换为json对象
做web前端开发时,需要ajax提交大量表单数据,如果一个个form字段拼接很费劲也容易出错,下面方法可解决这个问题 jquery form序列化转换为json对象 姓名: 性别:男女 爱好:篮球足球 籍贯: 上海 北京 深圳 发
form数据与json对象的互相转换(完整版)
form数据与json对象的互相转换(完整版) * 将web Form 的数据转化成json字符串 * 将json对象的值解析后填入web Form 在AJAX开发中这是关键技术: 1、将form中的数据利用本工具转换成json格式的字符串,再通过ajax传给服务器,从而可以实现无刷新的form提交。; 2、通过AJAX从服务器得到json格式的数据,然后使用本工具解析数据填入form。从而可以实现无刷新的页面内容更新。
jquery ajax form serialize() 转json 数据,post 后台
jquery ajax form serialize() 转json 数据,post 后台