jQuery中验证表单提交方式及序列化表单内容的实现
之前项目中使用的表单提交方式
使用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()等方法进行操作使用
相关推荐
-
jquery序列化form表单使用ajax提交后处理返回的json数据
1.返回json字符串: 复制代码 代码如下: /** 将一个字符串输出到浏览器 */ protected void writeJson(String json) { PrintWriter pw = null; try { servletResponse.setContentType("text/plain;charset=UTF-8"); pw = servletResponse.getWrit
-
jquery将一个表单序列化为一个对象的方法
复制代码 代码如下: var aa=function(form){ var o={}; $.each(form.serializeArray(),function(index){ if(o[this['name']]){ o[this['name']] = o[this['name']]+","+this['value']; }else{ o[this['name']] = this['value']; } }); return o; }
-
jQuery实现form表单元素序列化为json对象的方法
本文实例讲述了jQuery实现form表单元素序列化为json对象的方法.分享给大家供大家参考,具体如下: 这段代码序列化form表单元素为json对象: <!Doctype html> <html xmlns=http://www.w3.org/1999/xhtml> <head> <title>jQuery扩展--form序列化到json对象</title> <meta http-equiv=Content-Type content=&
-
基于jQuery的一个扩展form序列化到json对象
复制代码 代码如下: $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [ o[this.name] ]; } o[this.name].push(this.value || ''); } else { o[this.nam
-
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
序列化中文时之所以乱码是因为.serialize()调用了encodeURLComponent方法将数据编码了 解决方法就是进行解码 原因:.serialize()自动调用了encodeURIComponent方法将数据编码了 解决方法:调用decodeURIComponent(XXX,true);将数据解码 例如: var params = jQuery("#formId").serialize(); // http request parameters. params = deco
-
jQuery 表单序列化实例代码
废话不多说了,直接给大家贴代码了,具体代码如下所述: $(function(){ $('#send').click(function(){ $.ajax({ type: "GET", url: "test.json", data: {username:$("#username").val(), password:$("#password").val()}, // 参数为对象 dataType: "json"
-
JQuery中serialize() 序列化
本文导读:在jQuery中,当我们使用ajax时,常常需要拼装input数据以键值对(Key/Value)的形式发送到服务器,用JQuery的serialize方法可以轻松的完成这个工作,使用这个方法可以将表单序列化为键值对(key1=value1&key2=value2-)后提交.下面介绍JQuery中serialize()的用法 一.serialize()定义和用法: serialize()方法通过序列化表单值,创建标准的URL编码文本字符串,它的操作对象是代表表单元素集合的jQuery 对
-
jquery序列化表单去除指定元素示例代码
复制代码 代码如下: <html> <head> </head> <body> <form name="form1"> <input type="hidden" name="page1" class="flau_u_ro" value="1"></input> <input type="hidden"
-
jQuery-serialize()输出序列化form表单值的方法
实例 输出序列化表单值的结果: 复制代码 代码如下: $("button").click(function(){ $("div").text($("form").serialize()); }); 定义和用法 serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. 您可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身. 序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中. 语
-
jQuery中验证表单提交方式及序列化表单内容的实现
之前项目中使用的表单提交方式 使用form()方法可以将提交事件脱离submit按钮,绑定到任何事件中 复制代码 代码如下: function addSubmit(){ $('#addForm').form('submit', { url : _basePath + '/@Controller/@RequestMapping', onSubmit : function() { if(boolean){//放置能否提交的判断条件 $.messager.show({ title:'提示',msg:'
-
Flask框架学习笔记之表单基础介绍与表单提交方式
本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将用户输入的数据提交给服务器,并交给服务端进行处理. 表单标签 用于声明表单的范围,位于表单标签的元素将被提交. 语法:<form></form> 属性:Method规定用于发送表单数据的 HTTP 方法. Enctype规定在向服务器发送表单数据之前如何对其进行编码.(适用于 meth
-
JavaScript获取网页表单提交方式的方法
本文实例讲述了JavaScript获取网页表单提交方式的方法.分享给大家供大家参考.具体如下: JavaScript获取网页表单的提交方式是get还是post,获取提交方式可以通过表单的method属性获得 <!DOCTYPE html> <html> <body> <form id="frm1" action="form_action.asp" method="get"> First name:
-
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
我们平时在同域中请求页面什么的时候不会有这种情况,这种情况大多发生在移动端的跨域请求中发生的. 解决方法就是在服务端中加一层过滤HTTP请求的类型,把OPTION等不用的类型过滤掉.就是当请求为非 HTTP中的 GET 和 POST的时候就不执行下面的代码,这样就可以只执行一次请求了. 在ASP.NET中我们用 Request.ServerVariables["REQUEST_METHOD"] == "POST" 或者 Request.ServerVariables
-
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend(局部事件) 3.ajaxSend(全局事件) 4.success(局部事件) 5.ajaxSuccess(全局事件) 6.error(局部事件) 7.ajaxError (全局事件) 8.complete(局部事件) 9.ajaxComplete(全局事件) 10.ajaxStop(全局事件) 其中,全局事件可以在ajax相关方法外引用(比如,通过该方式将ajax执行各个阶段的信息显示在页面某个地
-
element-ui表单提交自动清空隐藏表单值实现
目录 需求的开始 初步思路:标记方案 有别的超简单的方案? 继续标记方案 分析如何实现 具体如何实现在表单项组件添加显隐逻辑事件 结尾 需求的开始 一个表单,里面有很多表单项,然后需求通过特定的条件会触发某些表单项的显隐,条件会有很多很多,但是会有个问题,就例如: a输入框:显示状态,输入了值5,对应的属性值为5 通过了某个条件触发了让a输入框隐藏 a输入框:隐藏状态,对应的属性值为5 这个时候提交表单,后端就接收到a输入框的值,但是实际a输入框这个时候是隐藏状态,就是并不想接受到a输入框的值
-
jquery+ajax验证不通过也提交表单问题处理
validationEngine给我们为前端的表单验证减少了很大的工作量.大部分情况我们使用validationEngine验证表单的形式有几种方式: 1 使用正常的表单提交.这种情况validationEngine验证不通过是不会提交表单的. 2 使用ajax提交表单,但是没有使用ajax验证. 这种方式也比较简单,在我们使用ajax请求前检查验证是否通过就可以,例如: 复制代码 代码如下: //验证不通过时return if(!$("form#ajaxForm").val
-
JQuery中Ajax的Post提交在IE下中文乱码的解决方法
引言: 在JQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢? 问题的引入: 复制代码 代码如下: var regid = $('#oregion').combobox('getValue'); //var sname = $('#sname').val(); var sname = encodeURI($('#sname').val(),"UTF-8"); if(regid!=""&®id!='und
-
jQuery中json对象的复制方式介绍(数组及对象)
1.jQuery自带的$.map方式 复制代码 代码如下: $.map(json, function (n) { return n; }); 这种方式原来用于复制数组还可以,今天用它复制数组中的某一条记录,发现字段名称丢失了,后来发现了第二种方法. 2.深复制与浅复制 复制代码 代码如下: // 浅层复制(只复制顶层的非 object 元素) var newObject = jQuery.extend({}, oldObject); // 深层复制(一层一层往下复制直到最底层) var newO
-
jquery插件EasyUI中form表单提交实例分享
之前用AJax给Controller传递参数,然后再调用服务端的方法对数据库进行更改,今天碰到一个新的方法,就是表单的提交,这样可以省去AJax传参. 当表单提交后,我们可以获取表单上控件中的值,然后再调用服务端的方法对数据库进行更改.下面的一张截图是具体的业务需求. 一.要实现的功能:从上面这个表单中,获取控件中的值,然后传递给后台.下面是表单代码. 二.表单代码 <div id="Editwin" class="easyui-window" title=&
随机推荐
- Delphi基本图像处理方法汇总
- javascript放大镜效果的简单实现
- iOS获取短信验证码倒计时的两种实现方法
- Go语言操作mysql数据库简单例子
- C#影院售票系统毕业设计(1)
- Android Bitmap压缩方式分析
- JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
- Ajax局部更新导致JS事件重复触发问题的解决方法
- javascript void(0)的妙用
- JavaWeb实现压缩多个文件并下载实例详解
- jquery属性选择器not has怎么写 行悬停高亮显示
- js prototype 格式化数字 By shawl.qiu
- C#编程获取IP地址的方法示例
- centos系统修改创建文件夹目录的显示颜色
- Java的Spring框架中bean的继承与内部bean的注入
- K均值聚类算法的Java版实现代码示例
- Vue-CLI 3.X 部署项目至生产服务器的方法
- java使用socket实现一个多线程web服务器的方法
- .net core高吞吐远程方法如何调用组件XRPC详解
- PHP实现带进度条的Ajax文件上传功能示例