jQuery,Ajax 表单插件

学习要点:

  1.核心方法

  2.option 参数

  3.工具方法

传统的表单提交,需要多次跳转页面,极大的消耗资源也缺乏良好的用户体验。而这款 form.js 表单的 Ajax 提交插件将解决这个问题。

一.核心方法

官方网站:http://malsup.com/jquery/form/

form.js 插件有两个核心方法:ajaxForm()和 ajaxSubmit(),它们集合了从控制表单元素 到决定如何管理提交进行的功能。

ajaxForm()方法,传统方式提交,在form元素上使用

传统方式提交,也就是采用的<input type="submit" value="提交" />

注意:使用 ajaxForm()方法,会直接实现 ajax 提交。自动阻止了默认行为不会跳转页面,而它提交的 默认页面是 form 控件的 action 属性的值。提交的方式是 method 属性的值。

  1. $('#reg').ajaxForm(function () { //success : fucntion () {}就是这里的function
  2. alert('提交');
  3. });

ajaxSubmit()方法,表单不是传统方式提交,使用了js的 Submit()方法,提交

  1. $('#reg').submit(function () { //不会阻止默认行为,会跳转
  2. $(this).ajaxSubmit(function () {
  3. alert('提交');
  4. });
  5. return false; //阻止默认行为
  6. });

注意:ajaxForm()方法,是针对 form 直接提交的,所以阻止了默认行为。而 ajaxSubmit() 方法,由于是针对 submit()方法的,所以需要手动阻止默认行为。而使用了 validate.js 验证 插件,那么 ajaxSubmit()比较适合我们。

二.option 参数

option 参数是一个以键值对传递的对象,可以通过这个对象,设置各种 Ajax 提交的功 能。

  1. $('#reg').submit(function () { //不会阻止默认行为,会跳转
  2. $(this).ajaxSubmit({
  3. url: 'test.php', //设置提交的 url,可覆盖 action 属性
  4. target: '#box', //服务器返回的内容存放在#box 里
  5. type: 'POST', //GET,POST
  6. dataType: null, //xml,json,script,默认为 null
  7. clearForm: true, //成功提交后,清空表单
  8. resetForm: true, //成功提交后,重置表单
  9. data: { //增加额外的数据提交
  10. aaa: 'bbb',
  11. ccc: 'ddd'
  12. },
  13. beforeSubmit: function (formData, jqForm, options) { //提交前的验证
  14. alert(formData[0].name); //得到传递表单元素的 name
  15. alert(formData[0].value); //得到传递表单元素的 value
  16. alert(jqForm); //得到 form 的 jquery 对象
  17. alert(options); //得到目前 options 设置的属性
  18. alert('正在提交中!!!');
  19. return true;
  20. },
  21. success: function (responseText, statusText) { //提交成功后的操作
  22. alert(responseText + statusText); //成功后回调
  23. },
  24. error: function (event, errorText, errorType) { //错误时调用 //提交失败的操作
  25. alert(errorText + errorType);
  26. }
  27. });
  28. return false; //阻止默认行为
  29. });

三.工具方法

form.js 除了提供两个核心方法之外,还提供了一些常用的工具方法。这些方法主要是 在提交前或后对数据或表单进行处理的。

formSerialize()表单序列化,内置了的,这里还是需要了解一下

  1. //表单序列化
  2. alert($('#reg').formSerialize());

fieldSerialize()序列化某一个字段

  1. //序列化某一个字段
  2. alert($('#reg #user').fieldSerialize());

fieldValue()得到某个字段的 value 值

  1. //得到某个字段的 value 值
  2. alert($('#reg #user').fieldValue());

resetForm()重置表单

  1. //重置表单
  2. $('#reg').resetForm()

clearFields()清空某个字段

  1. //清空某个字段
  2. $('#reg #user').clearFields();

第一百八十五节,jQuery,Ajax 表单插件的更多相关文章

  1. 第一百六十八节,jQuery,表单选择器

    jQuery,表单选择器 学习要点: 1.常规选择器 2.表单选择器 3.表单过滤器 表单作为 HTML 中一种特殊的元素,操作方法较为多样性和特殊性,开发者不但可以 使用之前的常规选择器或过滤器,也 ...

  2. 第三百八十五节,Django+Xadmin打造上线标准的在线教育平台—登录功能实现,回填数据以及错误提示html

    第三百八十五节,Django+Xadmin打造上线标准的在线教育平台—登录功能实现 1,配置登录路由 from django.conf.urls import url, include # 导入dja ...

  3. 第一百八十六节,jQuery,验证表单插件,Ajax 表单插件,验证和提交表单

    jQuery,验证表单插件,Ajax 表单插件,验证和提交表单 HTML <form id="reg" method="post" action=&quo ...

  4. 第一百六十五节,jQuery,过滤选择器

    jQuery,过滤选择器 学习要点: 1.基本过滤器 2.内容过滤器 3.可见性过滤器 4.子元素过滤器 5.其他方法 过滤选择器简称:过滤器.它其实也是一种选择器,而这种选择器类似与 CSS3 (h ...

  5. 第一百八十八节,jQuery,选项卡 UI

    jQueryUI,选项卡 UI 学习要点: 1.使用 tabs 2.修改 tabs 样式 3.tabs()方法的属性 4.tabs()方法的事件 5.tabs 中使用 on 选项卡(tab),是一种能 ...

  6. 第一百八十四节,jQuery-UI,验证注册表单

    jQuery-UI,验证注册表单 html <form id="reg" action="123.html" title="会员注册" ...

  7. 第二百三十四节,Bootstrap表单和图片

    Bootstrap表单和图片 学习要点: 1.表单 2.图片 本节课我们主要学习一下 Bootstrap 表单和图片功能,通过内置的 CSS 定义,显示各 种丰富的效果. 一.表单 Bootstrap ...

  8. 第一百七十五节,jQuery,工具函数

    jQuery,工具函数 学习要点: 1.字符串操作 2.数组和对象操作 3.测试操作 4.URL 操作 5.浏览器检测 6.其他操作 工具函数是指直接依附于 jQuery 对象,针对 jQuery 对 ...

  9. 第一百二十五节,JavaScript,XML

    JavaScript,XML 学习要点: 1.IE中的XML 2.DOM2中的XML 3.跨浏览器处理XML 随着互联网的发展,Web应用程序的丰富,开发人员越来越希望能够使用客户端来操作XML技术. ...

随机推荐

  1. Intellij IDEA错误识别.xml文件

    转自原文Intellij IDEA错误识别文件 今天上午弄了一个多小时,对idea感到十分的沮丧,真是太不好用了,一点儿都不智能,而且有些地方,还被自动的配置错误,导致操作起来就像是脱缰的野马. 言归 ...

  2. 【json】前台ajax序列化的多个属性拼接在一起的字符串,转化为JSONObject对象

    1.首先看一下前台序列化了哪些东西: 部分js代码 //查询按钮 $(".questButton").click(function(){ $.ajax({url:"/qu ...

  3. 微信 JS SDK 的 chooseImage 接口在部分安卓机上容易造成页面刷新

    该问题的症状是,当调用 chooseImage 接口并选择拍照,选择照片确定之后,然后从相机返回后,当前web页面就刷新了一次,导致拍照的图片无法选择上传:但是如果直接从相册中选择图片,则不会出现这个 ...

  4. Git -- git中本地与远程库的关联与取消

    1.在本地目录下关联远程repository : git remote add origin git@github.com:git_username/repository_name.git 2.取消本 ...

  5. mac 下安装 mysql (蛋疼)

    mac先安装mydql步骤 1.首先从官网上下载 mac版本的mysql:我的是mysql-5.7.20-macos10.12-x86_64.dmg 2.正常安装: 3.在系统偏好设置的最底下.1:是 ...

  6. 原型设计工具——Axure

    1,百度百科 http://baike.baidu.com/view/3332366.htm?from_id=5056136&type=syn&fromtitle=axure& ...

  7. CentOS7下nrpe3.0安装(转)

    本人菜鸟一枚,在学习nagios的时候碰到了很多问题,在网上找了很多相关的教程,都是老版本的,怎么装都不对,强迫症的我非要按装新版本,老版本的教程怎么搞都不行,只能自己研究了. 首先,下载nrpe3. ...

  8. table表头固定

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  9. 用 JavaScript 检测浏览器在线/离线状态(JavaScript API — navigator.onLine)

    如今HTML5 移动应用或 Web app 中越来越普遍的使用了离线浏览技术,所以用 JavaScript 检测浏览器在线/离线状态非常常见. 无论浏览器是否在线,navigator.onLine 属 ...

  10. Yii2系列教程七:Behaviors And Validations

    这一篇文章的开头就无需多言了,紧接着上一篇的内容和计划,这一篇我们来说说Yii2的Behavior和Validations. Behavior 首先我们来说说Behavior,在Yii2中Behavi ...