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 相关文章推荐
JavaScript库 开发规则
Jan 31 Javascript
jQuery 行级解析读取XML文件(附源码)
Oct 12 Javascript
Jquery 快速构建可拖曳的购物车DragDrop
Nov 30 Javascript
javascript URL编码和解码使用说明
Apr 12 Javascript
jQuery把表单元素变为json对象
Nov 06 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
Mar 08 Javascript
jquery衣服颜色选取插件效果代码分享
Aug 28 Javascript
js获取隐藏元素的宽高
Feb 24 Javascript
基于js中的存储键值对以及注意事项介绍
Mar 30 Javascript
详解Vue取消eslint语法限制
Aug 04 Javascript
JavaScript如何借用构造函数继承
Nov 06 Javascript
js实现省级联动(数据结构优化)
Jul 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
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
PHP 存储文本换行实现方法
2010/01/05 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
js常见表单应用技巧
2008/01/09 Javascript
动态表格Table类的实现
2009/08/26 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
瀑布流的实现方式(原生js+jquery+css3)
2020/06/28 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
canvas实现流星雨的背景效果
2017/01/13 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
python避免死锁方法实例分析
2015/06/04 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
Python 从一个文件中调用另一个文件的类方法
2019/01/10 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
中国双语服务优势的在线购票及活动平台:247tickets
2018/10/26 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
土木工程专业自荐信
2013/10/04 职场文书
年会活动策划方案
2014/01/23 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
2014年工会工作总结
2014/11/12 职场文书
资金申请报告范文
2015/05/14 职场文书
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python