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 相关文章推荐
JavaScript 类似flash效果的立体图片浏览器
Feb 08 Javascript
JS字符串函数扩展代码
Sep 13 Javascript
javascript 常用功能总结
Mar 18 Javascript
D3.js中data(), enter() 和 exit()的问题详解
Aug 17 Javascript
JavaScript数组的定义及数字操作技巧
Jun 06 Javascript
jQuery中 bind的用法简单介绍
Feb 13 Javascript
jQuery实现弹窗居中效果类似alert()
Feb 27 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
May 10 Javascript
微信小程序生成二维码的示例代码
Mar 29 Javascript
重学JS 系列:聊聊继承(推荐)
Apr 11 Javascript
JS绘图Flot如何实现可选显示曲线图功能
Oct 16 Javascript
原生js实现自定义消息提示框
Nov 19 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
风格模板初级不完全修改教程
2006/10/09 PHP
php+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
php中动态修改ini配置
2014/10/14 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
javascript 一些用法小结
2009/09/11 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
js控制input输入字符解析
2013/12/27 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
vuex存储token示例
2019/11/11 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
python实现360的字符显示界面
2014/02/21 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
python递归全排列实现方法
2018/08/18 Python
python list格式数据excel导出方法
2018/10/31 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
python os.rename实例用法详解
2020/12/06 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
移动通信专业自荐信范文
2013/11/12 职场文书
汽修专业自荐信
2014/07/07 职场文书
公司出纳岗位职责
2015/03/31 职场文书
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android