jQuery中验证表单提交方式及序列化表单内容的实现


Posted in Javascript onJanuary 06, 2014

之前项目中使用的表单提交方式

使用form()方法可以将提交事件脱离submit按钮,绑定到任何事件中

function addSubmit(){ 
$('#addForm').form('submit', { 
url : _basePath + '/@Controller/@RequestMapping', 
onSubmit : function() { 
if(boolean){//放置能否提交的判断条件 
$.messager.show({ 
title:'提示',msg:'不符合保存条件', 
showType:'fade',style:{right:'',bottom:''} 
}); 
return false;//阻止表单提交 
} 
return $('#addForm').form('validate');//判断required项是否全部有值 
}, 
success : function(data) { 
var obj = jQuery.parseJSON(data);//将返回的JSON转化为所需对象(ResponseData) 
if (!obj.success) {//判断返回的ResponseData对象中标示状态的属性值 
$.messager.show({ 
title:'提示',msg:'保存失败', 
showType:'fade',style:{right:'',bottom:''} 
}); 
} else { 
$.messager.show({ 
title:'提示',msg:'保存成功', 
showType:'fade',style:{right:'',bottom:''} 
}); 
$("#addWin").window("close");//关闭提交pwkk 
query();//刷新结果集 
} 
} 
}); 
}

今天在《锋利的jQuery》中又读到这样一种提交方式,使用ajax封装了表单内容用post提交
$("#btn").click(function() { 
$.get("get.php", {username:$("#username").val(), password:$("#password").val()}, function(data, textStatus) {//将表单中的数据逐条取出后封装上传 
$("#target").html(data);//将返回值填充至页面中 
}); 
});

而后有一个简化版,使用serialize()方法序列化
$("#btn").click(function() { 
$.get("get.php", $("#form").serialize(), function(data, textStatus) {//将表单中的数据逐条取出后封装上传 
$("#target").html(data);//将返回值填充至页面中 
}); 
});

serialize()方法可以自动编码,而且除表单之外的如checkbox等对象也可以使用其进行转换

同时还有serializeArray()方法可以将元素序列化后返回数组形式的JSON对象,而非JSON字符串

即无需使用jQuery.parseJSON()方法进行转换

返回值可直接使用类似$.each()等方法进行操作使用

Javascript 相关文章推荐
ExtJs使用IFrame的实现代码
Mar 24 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
Jul 22 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
Jul 31 Javascript
实现点击列表弹出列表索引的两种方式
Mar 08 Javascript
JavaScript图片轮播代码分享
Jul 31 Javascript
js实现基于正则表达式的轻量提示插件
Aug 29 Javascript
JavaScript学习小结(一)——JavaScript入门基础
Sep 02 Javascript
jQuery实现定位滚动条位置
Aug 05 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
Apr 11 Javascript
AngularJS select设置默认值的实现方法
Aug 25 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
May 17 Javascript
微信小程序JS加载esmap地图的实例详解
Sep 04 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
Jan 06 #Javascript
以JSON形式将JS中Array对象数组传至后台的方法
Jan 06 #Javascript
js解决弹窗问题实现班级跳转DIV示例
Jan 06 #Javascript
instanceof和typeof运算符的区别详解
Jan 06 #Javascript
jquery使用append(content)方法注意事项分享
Jan 06 #Javascript
javascript客户端遍历控件与获取父容器对象示例代码
Jan 06 #Javascript
Javascript 遍历页面text控件详解
Jan 06 #Javascript
You might like
elgg 获取文件图标地址的方法
2010/03/20 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
js动态改变select选择变更option的index值示例
2014/07/10 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
jquery实现左右滑动菜单效果代码
2015/08/27 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
2017/09/22 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
React diff算法的实现示例
2018/04/20 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
Html5内唤醒百度、高德APP的实现示例
2019/05/20 HTML / CSS
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
英国露营设备和户外服装购物网站:Simply Hike
2019/05/05 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
初中科学教学反思
2014/01/21 职场文书
优秀医生事迹材料
2014/02/12 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
redis内存空间效率问题的深入探究
2021/05/17 Redis
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python