将Form的数据转化成Javascript的Json对象
Jquery的serializeArray
方法已经可以实现将Form的数据序列化为一个数组,只要稍微在这个方法的基础上做些修改即可。
方法1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$
.
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:
1
2
3
4
5
6
7
8
9
10
11
|
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