jQuery ajax - serializeArray() 方法 实例表单提交


serializeArray()在ajax表单提交时候非常方便获取元素

定义和用法

serializeArray() 方法通过序列化表单值来创建对象数组(名称和值)。

您可以选择一个或多个表单元素(比如 input 及/或 textarea),或者 form 元素本身。

语法

$(selector).serializeArray()

返回的 JSON 对象是由一个对象数组组成的,其中每个对象包含一个或两个名值对 —— name 参数和 value 参数(如果 value 不为空的话)。举例来说:

[ 
  {name: 'firstname', value: 'Hello'}, 
  {name: 'lastname', value: 'World'},
  {name: 'alias'}, // 值为空
]

在from表单外的值也可以通过push添加name,value

var formdata = $("#viewpoint").serializeArray();
var content = {};
var html = $("#detail_desc").val();
content['name'] = 'content';
content['value'] = html;
formdata.push(content);

.serializeArray() 方法使用了 W3C 关于 successful controls(有效控件) 的标准来检测哪些元素应当包括在内。特别说明,元素不能被禁用(禁用的元素不会被包括在内),并且元素应当有含有 name 属性。提交按钮的值也不会被序列化。文件选择元素的数据也不会被序列化。

该方法可以对已选择单独表单元素的对象进行操作,比如 , 19 20 21 封面 22 class='covers'> 23 class="file gradient" src="{$static}/images/shangchuan.jpg" onclick="startFile()" 24 id="img"> 25 26

尺寸:480*360 jpg / png格式

27 28 29 30 31 class='eqs'>来源方式 32 33
class="radio ralai"> 34 class='inputss' value="0" checked="checked"> 35 36
37
class="radio ralai"> 38 class='inputss' value="1"> 39 40
41 42 43 44 来源名称 45 46 47 48 评论权限 49 50
class="radio" onclick="radioClick(this)"> 51 class="inputss"> 52 53
54
class="radio" onclick="radioClick(this)"> 55 class="inputss"> 56 57
58 59 60 61 分类 62 63 69 70 71 72 标签 73 class='lable-th'> 74 {foreach $tag as $tg} 75
class='checkeds'> 76 class='inputss' id='ids_{$tg.id}' value="{$tg.id}" name="tags[]"> 77 78
79 {/foreach} 80 81 82 83
class='release-cont'> 84 内容 85 86
87
class='btnss'> 88
class='btns-lt' onclick="submitData(0)">发布
89
class='btns-rt' onclick="submitData(-1)">保存到草稿箱
90
91 92 93
94
95
class='clear'>
96
97 98 99 216

相关