jQuery ajax提交Form表单实例(附demo源码)


Posted in Javascript onApril 06, 2016

本文实例讲述了jQuery ajax提交Form表单的方法。分享给大家供大家参考,具体如下:

Jquery的$.ajax方法可以实现ajax调用,要设置url,post,参数等。

如果要提交现有Form需要写很多代码,何不直接将Form的提交直接转移到ajax中呢。

以前的处理方法

如Form代码如下:

<form id="Form1" action="action.aspx" method="post" >
名称:<input name="name" type="text" /><br />
密码:<input name="password" type="password" /><br />
手机:<input name="mobile" type="text" /><br />
说明:<input name="memo" type="text" /><br />
<input type="submit" value="提 交" />
</form>

当提交后,会跳转到action.aspx页面。并可以通过Request.Params["name"]可以取到值。

思考

如果不想刷新页面使用ajax,就又要在$.ajax中指定url,等信息,不好维护。

在网上查了一下,老早以前老外就有解决方案了。使用ajax直接按照Form信息直接提交。不刷新页面。

参考资料:http://jquery.malsup.com/form/

很好用,但我还是愿意自己写个自己用的。

核心JS代码

//将form转为AJAX提交
function ajaxSubmit(frm, fn) {
  var dataPara = getFormJson(frm);
  $.ajax({
    url: frm.action,
    type: frm.method,
    data: dataPara,
    success: fn
  });
}
//将form中的值转换为键值对。
function getFormJson(frm) {
  var o = {};
  var a = $(frm).serializeArray();
  $.each(a, function () {
    if (o[this.name] !== undefined) {
      if (!o[this.name].push) {
        o[this.name] = [o[this.name]];
      }
      o[this.name].push(this.value || '');
    } else {
      o[this.name] = this.value || '';
    }
  });
  return o;
}

ajaxSubmit方法第一个参数,是要提交的form,第二个参数是ajax调用成功后的处理函数。

将form的action传递给ajax的url,form的method传递给ajax的type,再将格式化后的表单内容传递给data。

getFormJson方法将form的元素转化为json格式键值对。形如:{name:'aaa',password:'tttt'},注意将同名的放在一个数组里。

调用

//调用
$(document).ready(function(){
  $('#Form1').bind('submit', function(){
    ajaxSubmit(this, function(data){
      alert(data);
    });
    return false;
  });
});

在ajaxSubmit方法调用前,可验证数据是否正确,在alert(data)处可加入自己调用返回后处理代码。

在调用ajaxSubmit方法后,必须添加return false;语句防止Form真实提交。

完整实例代码点击此处本站下载。

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
jQuery 获取URL参数的插件
Mar 04 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 Javascript
javascript if条件判断方法小结
May 17 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
Dec 14 Javascript
详解JavaScript的内置对象
Dec 07 Javascript
js实现带缓动动画的导航栏效果
Jan 16 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
Aug 25 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
Dec 19 Javascript
详解Chart.js轻量级图表库的使用经验
May 22 Javascript
JS字符串与二进制的相互转化实例代码详解
Jun 28 Javascript
JS面向对象之多选框实现
Jan 17 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
Apr 06 #Javascript
JS控制伪元素的方法汇总
Apr 06 #Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
Apr 06 #Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
Apr 06 #Javascript
jQuery实现HTML表格单元格的合并功能
Apr 06 #Javascript
JS中JSON对象和String之间的互转及处理技巧
Apr 06 #Javascript
js老生常谈之this,constructor ,prototype全面解析
Apr 05 #Javascript
You might like
用dom+xhtml+css制作的一个相册效果代码打包下载
2008/01/24 Javascript
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
jquery移动listbox的值原理及代码
2013/05/03 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
2015/07/27 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
理解javascript定时器中的单线程
2016/02/23 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
2016/12/06 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
2017/04/13 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
Python迭代用法实例教程
2014/09/08 Python
python发送HTTP请求的方法小结
2015/07/08 Python
Python中创建二维数组
2018/10/17 Python
在django中,关于session的通用设置方法
2019/08/06 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
python自动化发送邮件实例讲解
2021/01/04 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
端口镜像是怎么实现的
2014/03/25 面试题
教师节促销活动方案
2014/02/14 职场文书
《我要的是葫芦》教学反思
2014/02/23 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
社区综治工作汇报
2014/10/27 职场文书
2015年组织部工作总结
2015/04/03 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书