【整理】01. jQuery.Form.js 用法分析
前言:
- 为什么使用JQuery.From.js,因为原生<form>表单没有回调函数,不过可以通过jquery-form.js这个插件来实现回调函数。
- jQuery.form.js是一个form 插件,支持 ajax表单提交 和 ajax文件上传。
- formSerilize() 用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式。
- clearForm() 清除表单中所有输入值的内容。
- restForm 重置表单中所有的字段内容。即,将所有表单中的字段恢复到页面加载时的默认值。
- 两个主要的 API:ajaxForm(),ajaxSubmit()。
- ajaxForm() 与 ajaxSubmit() 的区别:
- $("#form1").ajaxForm(); 相当于以下两行:
1234
$(
"#form1"
.submit)(
function
(){
$(
"#form1"
).ajaxSubmit();
return
false
;
})
也就是说 ajaxFrom()会自动阻止表单提交。而 ajaxSubmit()不会自动阻止表单提交,想阻止表单提交,要自己 return false;
- 如果希望表单提交完成后不跳转,那么一行简单的代码就能够实现,几乎与不使用表单提交是一样的:
123
$(
"#MailForm"
).ajaxSubmit(
function
(message) {
alert(
"表单提交已成功!"
);
});
- 注意:ajaxForm()与 ajaxSubmit() 都可以没有参数或者接受1个参数。该参数既可以是一个回调函数,也可以是一个options对象。该对象功能非常强大,说明如下:
1234567891011
var
options={
url:url,
//form 提交数据的地址
type:type,
//form 提交的方式(method:post/get)
target:target,
//服务器返回的响应数据显示在元素(Id)号确定
beforeSubmit:
function
(),
//提交前执行的回调函数
success:
function
(),
//提交成功后执行的回调函数
dataType:
null
,
//服务器返回数据类型
clearForm:
true
,
//提交成功后是否清空表单中的字段值
restForm:
true
,
//提交成功后是否重置表单中的字段值,即恢复到页面加载时的状态
timeout:6000
//设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。
}
- 或者,使用 iframe 来防止提交表单时防止页面跳转;
- html
12345
</
div
> <
a
id
=
"vip_batch_export_btn"
class
=
"easyui-linkbutton"
style
=
"width: 70px"
>导入</
a
>
<
form
id
=
"upForm"
enctype
=
"multipart/form-data"
target
=
"uploadIframe"
style
=
"position: absolute;left: -9999px;"
>
<
input
id
=
"upfile"
type
=
"file"
name
=
"uploadExcel"
/>
</
form
>
<
iframe
id
=
"uploadIframe"
src
=
"about:blank"
style
=
"display: none;"
></
iframe
>
- Javascript
123456789101112131415161718VipCar.importVipList =
function
(){
var
options = {
url:
"../vipManager/importVipInfo.do"
,
type:
'post'
,
success:
function
(data){
// ...
},
error:
function
(xhr,status,msg){
// ...
}
};
$(
"#upForm"
).ajaxSubmit(options);
// 重新添加一下,否则再次上传同名文件可能就不会触发onchange事件.
var
input =
'<input id="upfile" type="file" name="uploadExcel" onchange="VipCar.importVipList();"/>'
;
$(
"#upfile"
).remove();
$(
'#upForm'
).append(input);
};
- 引入js文件,建议 jquery-form.js,紧随 jquery文件之后,之前我中间穿插引入了easyui 导致 ajaxSubmit() 不可用。
【整理】01. jQuery.Form.js 用法分析的更多相关文章
- jquery.form.js用法之清空form的方法
本段代码摘取自jquery.form.js中,由于觉得该方法的使用性非常强,同时也可独立拿出来使用.该段代码言简意赅可以很好的作为学习参考. /** * Clears the form data. T ...
- jquery.form.js详细讲解
现在大家在在表单提交的时候都不流行中间页面做跳转(比如发布成功的提示页面),或者说这样做会降低用户体验.所以一般都是采用ajax来提交,能看到这个页面的朋友,想必对ajax提交表单已经是很熟悉了. 如 ...
- jQuery通过jquery.form.js插件使用AJAX提交Form表单
我简单使用了一下,jQuery Form插件有一下优点: 1.支持提交前验证. 2.支持提交后回调. 3.采用AJAX方式,有很好的用户体验 4.提交方式是灵活.只要指定要提交的form ID即可. ...
- jquery.form.js实现将form提交转为ajax方式提交的使用方法
本文实例讲述了jquery.form.js实现将form提交转为ajax方式提交的方法.分享给大家供大家参考.具体分析如下: 这个框架集合form提交.验证.上传的功能. 这个框架必须和jquery完 ...
- bootstrap3-datepicker and jquery.form.js
bootstrap3-datepicker 和 jquery.form.js 这两个控件又起来都比较简单,就一起介绍了. 先说datepicker. github上的地址是:https://githu ...
- jquery提交form表单插件jquery.form.js
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用jquery.form.js提交表单上传文件
方法: 1.formSerilize() 用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式. 2.clearForm() 清除表单中所有输入值的内容. 3.restF ...
- jquery.form.js+jquery.validation.js实现表单校验和提交
一.jquery引用 主要用到3个js: jquery.js jquery.form.js jquery.validation.js 另外,为了校验结果提示本地化,还需要引入jquery.vali ...
- jquery.form.js ajax提交上传文件
项目中最近有用到表单提交,是带有图片上传的表单录入,需要ajax异步提交,网上找了好多例子都是只能提交上传字段一个信息的,这里整理一下.表单里有普通文本信息字段也有图片上传字段. 1.jsp代码--引 ...
随机推荐
- Redis数据类型之Set
前言:set类似于数学上面的集合概念,包含的元素无序,不能重复,能进行交.并.差操作. 一.内部原理 set数据结构,也是随着元素数目的多少而变化.当set中添加 ...
- arcgis api for js入门开发系列十二地图打印(GP服务)
上一篇实现了demo的地图统计图,本篇新增地图打印,截图如下: (1)地图打印实现的思路如下:首先在创建好地图打印GP模型,设置好模型的参数:其次是验证模型运行模型:然后是发布地图打印的GP服务:最后 ...
- Swift App项目总结
最近公司新开了一个项目,由于我的同事的离职,所以就剩我自己了.于是就果断的使用纯纯Swift写了,之前也用过Swift,不过很早了,那时候Swift还不稳定,每次一升级Xcode,Swift升级以后语 ...
- Java数值避免浮点型计算丢失精度问题
问题描述及方案 假设我们在做电商项目,在进行计算时这个丢失精度在产品价格计算就会出现问题,很有可能造成我们手里有9.99元然后后面会有一堆9,但是呢这些钱无法购买一个10元的商品. 在某些编程语言中有 ...
- Kafka官方文档翻译——实现
IMPLEMENTATION 1. API Design Producer APIs Producer API封装了底层两个Producer: kafka.producer.SyncProducer ...
- CSharpGL(42)借助帧缓存实现渲染到纹理(RenderToTexture)
CSharpGL(42)借助帧缓存实现渲染到纹理(RenderToTexture) 渲染到纹理(Render To Texture)是实现很多OpenGL高级效果的一个基础.本文记录了如何用CShar ...
- docker 初识之二(简单发布ASP.NET Core 网站)
在发布ASP.NET Core网站以前,先介绍一下DaoCloud 一个免费的docker云容器服务平台.登陆官方网站,创建一台docker主机,这台主机有120分钟的使用时间,对于鄙人学习使用正好合 ...
- 基于 HTML5 WebGL 的 3D 网络拓扑图
在数据量很大的2D 场景下,要找到具体的模型比较困难,并且只能显示出模型的的某一部分,显示也不够直观,这种时候能快速搭建出 3D 场景就有很大需求了.但是搭建 3D 应用场景又依赖于通过 3ds Ma ...
- 【Android Developers Training】 5. 序言:添加Action Bar
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- Vysor破解助手for Linux/macOS/Windows
Vysor更新到1.7.8后,之前的破解工具又失效了,但破解的方法依然可用.在更新破解工具的过程中,Vysor又出了1.7.9版本,主要是对Android O做了处理.更新后的破解工具支持1.6.6~ ...