第一百八十五节,jQuery,Ajax 表单插件
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 属性的值。
$('#reg').ajaxForm(function () { //success : fucntion () {}就是这里的function
alert('提交');
});
ajaxSubmit()方法,表单不是传统方式提交,使用了js的 Submit()方法,提交
$('#reg').submit(function () { //不会阻止默认行为,会跳转
$(this).ajaxSubmit(function () {
alert('提交');
});
return false; //阻止默认行为
});
注意:ajaxForm()方法,是针对 form 直接提交的,所以阻止了默认行为。而 ajaxSubmit() 方法,由于是针对 submit()方法的,所以需要手动阻止默认行为。而使用了 validate.js 验证 插件,那么 ajaxSubmit()比较适合我们。
二.option 参数
option 参数是一个以键值对传递的对象,可以通过这个对象,设置各种 Ajax 提交的功 能。
$('#reg').submit(function () { //不会阻止默认行为,会跳转
$(this).ajaxSubmit({
url: 'test.php', //设置提交的 url,可覆盖 action 属性
target: '#box', //服务器返回的内容存放在#box 里
type: 'POST', //GET,POST
dataType: null, //xml,json,script,默认为 null
clearForm: true, //成功提交后,清空表单
resetForm: true, //成功提交后,重置表单
data: { //增加额外的数据提交
aaa: 'bbb',
ccc: 'ddd'
},
beforeSubmit: function (formData, jqForm, options) { //提交前的验证
alert(formData[0].name); //得到传递表单元素的 name
alert(formData[0].value); //得到传递表单元素的 value
alert(jqForm); //得到 form 的 jquery 对象
alert(options); //得到目前 options 设置的属性
alert('正在提交中!!!');
return true;
},
success: function (responseText, statusText) { //提交成功后的操作
alert(responseText + statusText); //成功后回调
},
error: function (event, errorText, errorType) { //错误时调用 //提交失败的操作
alert(errorText + errorType);
}
});
return false; //阻止默认行为
});
三.工具方法
form.js 除了提供两个核心方法之外,还提供了一些常用的工具方法。这些方法主要是 在提交前或后对数据或表单进行处理的。
formSerialize()表单序列化,内置了的,这里还是需要了解一下
//表单序列化
alert($('#reg').formSerialize());
fieldSerialize()序列化某一个字段
//序列化某一个字段
alert($('#reg #user').fieldSerialize());
fieldValue()得到某个字段的 value 值
//得到某个字段的 value 值
alert($('#reg #user').fieldValue());
resetForm()重置表单
//重置表单
$('#reg').resetForm()
clearFields()清空某个字段
//清空某个字段
$('#reg #user').clearFields();
第一百八十五节,jQuery,Ajax 表单插件的更多相关文章
- 第一百六十八节,jQuery,表单选择器
jQuery,表单选择器 学习要点: 1.常规选择器 2.表单选择器 3.表单过滤器 表单作为 HTML 中一种特殊的元素,操作方法较为多样性和特殊性,开发者不但可以 使用之前的常规选择器或过滤器,也 ...
- 第三百八十五节,Django+Xadmin打造上线标准的在线教育平台—登录功能实现,回填数据以及错误提示html
第三百八十五节,Django+Xadmin打造上线标准的在线教育平台—登录功能实现 1,配置登录路由 from django.conf.urls import url, include # 导入dja ...
- 第一百八十六节,jQuery,验证表单插件,Ajax 表单插件,验证和提交表单
jQuery,验证表单插件,Ajax 表单插件,验证和提交表单 HTML <form id="reg" method="post" action=&quo ...
- 第一百六十五节,jQuery,过滤选择器
jQuery,过滤选择器 学习要点: 1.基本过滤器 2.内容过滤器 3.可见性过滤器 4.子元素过滤器 5.其他方法 过滤选择器简称:过滤器.它其实也是一种选择器,而这种选择器类似与 CSS3 (h ...
- 第一百八十八节,jQuery,选项卡 UI
jQueryUI,选项卡 UI 学习要点: 1.使用 tabs 2.修改 tabs 样式 3.tabs()方法的属性 4.tabs()方法的事件 5.tabs 中使用 on 选项卡(tab),是一种能 ...
- 第一百八十四节,jQuery-UI,验证注册表单
jQuery-UI,验证注册表单 html <form id="reg" action="123.html" title="会员注册" ...
- 第二百三十四节,Bootstrap表单和图片
Bootstrap表单和图片 学习要点: 1.表单 2.图片 本节课我们主要学习一下 Bootstrap 表单和图片功能,通过内置的 CSS 定义,显示各 种丰富的效果. 一.表单 Bootstrap ...
- 第一百七十五节,jQuery,工具函数
jQuery,工具函数 学习要点: 1.字符串操作 2.数组和对象操作 3.测试操作 4.URL 操作 5.浏览器检测 6.其他操作 工具函数是指直接依附于 jQuery 对象,针对 jQuery 对 ...
- 第一百二十五节,JavaScript,XML
JavaScript,XML 学习要点: 1.IE中的XML 2.DOM2中的XML 3.跨浏览器处理XML 随着互联网的发展,Web应用程序的丰富,开发人员越来越希望能够使用客户端来操作XML技术. ...
随机推荐
- Oracle架构全图
- Java 关于容器集合等数据结构详情图解,一目了然
建议把图片下载下来保存之,网页展示不开... watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3NtX3F6/font/5a6L5L2T/fontsize/ ...
- Bitnami 2015
WordPress WordPress is one of the world's most popular web publishing platforms for building blogs a ...
- ssh2学习-applicationContext.xml文件配置-----<context:annotation-config/>详解
当我们需要使用BeanPostProcessor时,直接在Spring配置文件中定义这些Bean显得比较笨拙,例如: 使用@Autowired注解,必须事先在Spring容器中声明AutowiredA ...
- MPJoystick
using UnityEngine; /** * File: MPJoystick.cs * Author: Chris Danielson of (monkeyprism.com) * // USE ...
- python——深刻理解Python中的元类(metaclass)
译注:这是一篇在Stack overflow上 很热的帖子.提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解.他知道这肯定和自省有关,但仍然觉 ...
- leetcode第一刷_Sudoku Solver
这道题简直是耻辱啊.竟然被吓得不敢做,最终開始写还犯下了各种低级错误,花了好久的时间. 事实上假设想明确81*9事实上是非常小的规模的话,早就想到用回溯法了,这不是跟八皇后全然一样的嘛.每次填入的时候 ...
- 【Python 数据分析】pandas模块
上一节,我们已经安装了numpy,基于numpy,我们继续来看下pandas pandas用于做数据分析与数据挖掘 pandas安装 使用命令 pip install pandas 出现上图表示安装成 ...
- Rabbitmq消息队列(二) Hello World! 模拟简单发送接收
1.简介 RabbitMQ是消息代理:它接受和转发消息.你可以把它当作一个邮局:当你把你要邮寄的邮件放在信箱里时,你可以肯定Postman先生最终会把邮件送到你的收件人那里.在这个比喻中,Rabbit ...
- STM32在程序运行过程中关闭定时器重新打开后定时器不工作的问题
问题:数码管显示程序放在定时TIM2中断函数里面扫描,想要实现在关闭某一功能的时候数码管不显示. 刚开始的想法是开关关闭,关闭定时器时钟:开关打开,打开定时器时钟:(但实验证明再次打开开关时定时器2却 ...