form表单序列化serialize-object.js
<form class="form-horizontal" role="form" id="myform" action="" method="post">
<div class="form-group">
<label for="email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email" name="user[email]" placeholder="Email" value="demo@example.com">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">技能</label>
<div class="col-sm-10">
<label class="checkbox-inline">
<input type="checkbox" name="user[skill][]" value="html5"> HTML5
</label>
<label class="checkbox-inline">
<input type="checkbox" name="user[skill][]" value="javascript" checked> Javascript
</label>
<label class="checkbox-inline">
<input type="checkbox" name="user[skill][]" value="PHP" checked> PHP
</label>
<label class="checkbox-inline">
<input type="checkbox" name="user[skill][]" value="Python"> Python
</label>
<label class="checkbox-inline">
<input type="checkbox" name="user[skill][]" value="MySQL" checked> MySQL
</label>
<label class="checkbox-inline">
<input type="checkbox" name="user[skill][]" value="Redis"> Redis
</label>
</div>
</div>
<div class="form-group">
<label for="email" class="col-sm-2 control-label">月薪</label>
<div class="col-sm-10">
<select class="form-control" name="user[salary]">
<option value="5000">5000以下</option>
<option value="5000-10000">5000-10000</option>
<option value="10000-20000">10000-20000</option>
<option value="20000">20000以上</option>
</select>
</div>
</div>
<div class="form-group">
<label for="email" class="col-sm-2 control-label">自我评价</label>
<div class="col-sm-10">
<textarea class="form-control" name="user[intro]" rows="3"></textarea>
</div>
</div> <div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default" id="subbtn">提交</button>
</div>
</div>

首先载入jquery库和jquery.serialize-object.js,在我打包的源码中这两个js文件,其中jQuery是引用的CDN资源。
<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/jquery.serialize-object.min.js"></script>

$(function(){
$(document).on('click', '#subbtn', function(event) {
event.preventDefault();
var json_data = $('#myform').serializeJSON();
$.post('post.php', json_data, function(data) {
console.log(data);
});
});
});

上述代码中,我们只需要使用$('#myform').serializeJSON()就可以获得整个表单所有字段的数据,并以json格式序列化,这时post的数据变成以下格式:
{"user":{"email":"demo@example.com","skill":["html5","javascript","PHP","MySQL"],"salary":"5000","intro":"的撒的\r\n天654\r\n第三方"}}
得到的是一个json格式的数据,看起来是不是很爽了。
当然jquery.serialize-object.js还提供了一个序列化对象的方法:serializeObject,使用如下代码可以得到一个javascript object对象:
var obj_data = $('#myform').serializeObject();
PHP接收到post数据后,可以将其转成数组就可以很好的操作数组了。
form表单序列化serialize-object.js的更多相关文章
- form 表单序列化 serialize
在开发中有时需要在js中提交form表单数据,就需要将form表单进行序列化. jquery提供的serialize方法能够实现. $("#searchForm").seriali ...
- 原生js实现form表单序列化
当我们有form表单而且里面的表单元素较多时,咱们总不能一个个去获取表单元素内的值来进行拼接吧!这样会很让人蛋疼!为了方便与后台交互并且提高自己的开发效率,并且不让你蛋疼:我们一起用原生来写一个表单序 ...
- form表单序列化数据之后,追加额外数据
form表单序列化数据之后追加额外数据多使用在js中,下面是追加额外数据的代码: <span style="font-size:18px;">$.param({'inv ...
- jquery ajax(5)form表单序列化
form表单序列化<script type="text/javascript"> $(function(){ $("#send").click(fu ...
- 原生JS实现表单序列化serialize()
有一个form表单,要用AJAX后台提交,原来想拼接json,但是数据多了麻烦,不灵活. 用HTML5的FormData来初始化表单 var formdata=new FormData(documen ...
- js将form表单序列化[json字符串、数组、对象]
1.序列化为字符串 $("#Form").serialize();//name=zhangsan&sex=1&age=20 2.序列化为数组 var formD ...
- jQuery实现form表单序列化转换为json对象功能示例
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 提交Form表单,submit之前做js判断处理
效果: 在点击提交按钮时,首先进行js判断, 如果不符合条件,则alert出提示信息,并return false. 主要点就在于给form表单添加一个onsubmit事件. 在onsubmit事件中定 ...
- 将复杂form表单序列化serialize-object.js
<form class="form-horizontal" role="form" id="myform" action=" ...
随机推荐
- java第七天
p38~p41: 1.可以通过import 一个自定义类库(或者网上下的)在java中使用c风格的输入输出方式. 2.忘记优先顺序时应该用括号明确规定计算顺序. 3.java的操作符不同于c++,几乎 ...
- 从0开始学习 GITHUB 系列之「GIT 速成」【转】
本文转载自:http://stormzhang.com/github/2016/05/30/learn-github-from-zero3/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...
- HDU 6351 Beautiful Now(DFS)多校题解
思路:一开始对k没有理解好,题意说交换k次,如果我们不需要交换那么多,那么可以重复自己交换自己,那么k其实可以理解为最多交换k次.这道题dfs暴力就行,我们按照全排列最大最小去找每一位应该和后面哪一位 ...
- 【转载】make: Nothing to be done for `all'. 解决方法
转自:make: Nothing to be done for `all'.解决方法 make: Nothing to be done for `all' 解决方法 1.这句提示是说明你已经编译好了, ...
- HDU 6053 TrickGCD(莫比乌斯反演)
http://acm.hdu.edu.cn/showproblem.php?pid=6053 题意:给出一个A数组,B数组满足Bi<=Ai. 现在要使得这个B数组的GCD值>=2,求共有多 ...
- 最好的移动触摸滑动插件:Swiper
最近在使用的一个移动触摸滑动插件Swiper,功能很强大,跟之前的那个swipe.JS相比,同时支持在PC端滑动,支持上下方向滑动,支持多张图片滑动,支持多屏滑动,凡是你想得到的几乎都可以实现.最近作 ...
- 【Demo】CSS3 动画 加载进度条
实例结果图: 完整代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 局域网内web地图的简单实现
首先,我先说一下这次的主要目的.我们的想法是在不连互联网的局域网中搭起来一个地图服务,类似于百度地图的网页版本,功能最少要有看地图.放缩.标记.批量标记.实时经纬度坐标.这个东西还是让我费了一番力气( ...
- python 多进程——使用进程池,多进程消费的数据)是一个队列的时候,他会自动去队列里依次取数据
我的mac 4核,因此每次执行的时候同时开启4个线程处理: # coding: utf-8 import time from multiprocessing import Pool def long_ ...
- 十款效果惊艳的Html案例(一)
http://www.html5tricks.com/10-html5-image-effect.html