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 相关文章推荐
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
Jan 22 Javascript
javascript innerHTML使用分析
Dec 03 Javascript
html超链接打开窗口大小的方法
Mar 05 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
Oct 29 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 Javascript
JavaScript实现form表单的多文件上传
Mar 27 Javascript
基于angular实现三级联动的生日插件
May 12 Javascript
JavaScript之生成器_动力节点Java学院整理
Jun 30 Javascript
node中IO以及定时器优先级详解
May 10 Javascript
pageGroup.js实现分页功能
Jul 27 Javascript
JS插入排序简单理解与实现方法分析
Nov 25 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 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
晶体管来复再生式二管收音机
2021/03/02 无线电
一个程序下载的管理程序(三)
2006/10/09 PHP
一个PHP日历程序
2006/12/06 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
ionic3 懒加载
2017/08/16 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
Python中join和split用法实例
2015/04/14 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
python 重定向获取真实url的方法
2018/05/11 Python
浅析PEP572: 海象运算符
2019/10/15 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
党员先进事迹材料
2014/12/19 职场文书
实习工作表现评语
2014/12/31 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
公司新员工欢迎词
2015/09/30 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
磁贴还没死, 微软Win11可修改注册表找回Win10开始菜单
2021/11/21 数码科技