jQuery.form.js是一个form插件,支持ajax表单提交和ajax文件上传。

官网下载地址:http://plugins.jquery.com/form/

API

ajaxForm 增加所有需要的事件监听器,为ajax提交表单做准备。ajaxForm并不能提交表单。在document的ready函数中,使用ajaxForm来为ajax提交表单进行准备。 接受0个或1个参数。参数可以是一个回调函数,也可以是一个Options对象。 $("#formid").ajaxForm();
ajaxSubmit 使用ajax提交表单。 接受0个或1个参数。参数可以是一个回调函数,也可以是一个Options对象。

$("#formid").ajaxSubmit();

$("#formid").submit(function(){

$(this).ajaxSubmit();

return false;

});

formSerialize 将表单串行化(或序列化)为一个查询字符串。这个方法将返回以下格式的字符串:name1=value1&name2=value2。 $("#formid").formSerialize();
fieldSerialize 将表单的字段元素串行化(或序列化)为一个查询字符串。当只有部分表单字段需要进行串行化(或序列化)时,使用这个就很方便了。返回以下格式的字符串:name=value1&name2=value2。 $("#formid .specialFields").fieldSerialize();
fieldValue 返回匹配插入数组中的表单元素值。该方法以数组的形式返回数据。如果元素值被判定可能无效,则数组为空。 $("#formid :password").fieldValue();
resetForm 将表单恢复到初始状态。 $("#formid").resetForm();
clearForm 清除表单元素。该方法将所有的text、password、textarea置空,清除select元素中的选定,以及所有radio按钮和checkbox按钮重置为非选定状态。 $("#formid").clearForm();
clearFields 清除字段元素。只有部分表单元素需要清除时方便使用。 $("#formid .specialFields").clearFields();

Options对象

ajaxForm和ajaxSubmit都支持众多的选项参数,这些选项参数可以使用一个Options对象来提供。

target 指明页面中由服务器响应进行更新的元素。元素的值可能被指定为一个jQuery选择器字符串、一个jquery对象、一个DOM元素。 默认值:null
url 指定提交表单数据的URL。 默认值:表单的action属性值
type 指定提交表单数据的方法(method):“GET”或“POST”。 默认值:GET
beforeSubmit 表单提交前被调用的回调函数。如果回调函数返回false表单将不被提交。回调函数带三个调用参数:数组形式的表单数据,jQuery表单对象,以及传入ajaxForm/ajaxSubmit中的Options对象。 默认值:null
success 表单成功提交后调用的回调函数。然后dataType选项值决定传回responseText还是responseXML的值。 默认值:null
dataType 返回的数据类型:null、"xml"、"script"、"json"其中之一。 默认值:null
resetForm 表示如果表单提交成功是否进行重置。 默认值:null
clearForm 表示如果表单提交成功是否清除表单数据。 默认值:null

示例:

var options={
target : '#output', // 把服务器返回的内容放入id为output的元素中
beforeSubmit : showRequest, // 提交前的回调函数
success : showResponse, // 提交后的回调函数
// url : url, //默认是form的action,如果申明,则会覆盖
// type : type, // 默认值是form的method("GET" or "POST"),如果声明,则会覆盖
// dataType : null, // html(默认)、xml、script、json接受服务器端返回的类型
// clearForm : true, // 成功提交后,清除所有表单元素的值
// resetForm : true, // 成功提交后,重置所有表单元素的值
timeout : 3000 // 限制请求的时间,当请求大于3秒后,跳出请求
}
function showRequest(formData, jqForm, options){
// formData: 数组对象,提交表单时,form插件会以ajax方式自动提交这些数据,格式如[{name:user,value:val},{name:pwd,value:pwd}]
// jqForm: jQuery对象,封装了表单的元素
// options: options对象
var queryString=$.param(formData); // name=1&address=2
var formElement=jqForm[0]; // 将jqForm转换为DOM对象
var address=formElement.address.value; // 访问jqForm的DOM元素
return true; // 只要不返回false,表单都会提交,在这里可以对表单元素进行验证
}
function showResponse(responseText,statusText){
// dataType=xml
var name=$("name",responseXML).text();
var address=$("address",responseXML).text();
$("#xmlout").html(name+" "+address);
// dataType=json
$("#jsonout").html(data.name+" "+data.address);
}

  

jQuery.form.js jQuery ajax异步提交form的更多相关文章

  1. AJAX异步提交form表单

    记录: 网上有说怎么做,没说怎么接收,打印了一下数据,记录一下取值: 比如说有如下form: <form id="form1" name="form1" ...

  2. 【Jquery+Express.js】 submit() 方法提交form

    前端页面 .html 生成一个动态模块 Modal <div class="modal fade" id="addStaff" tabindex=&quo ...

  3. JQuery validate.js 在ajax提交form时如何触发

    在使用jquery validate.js 插件时,发现,如果是用onclick事件捕获提交按钮的动作,并且ajax动态提交form,验证不会被触发,而是直接提交了form. 后来发现,需要手动调用该 ...

  4. jquery.form.js(ajax表单提交)

    Form插件地址: 官方网站:http://malsup.com/jQuery/form/ 翻译地址:http://www.aqee.net/docs/jquery.form.plugin/jquer ...

  5. 异步提交form的时候利用jQuery validate实现表单验证

    异步提交form的时候利用jQuery validate实现表单验证相信很多人都用过jquery validate插件,非常好用,并且可以通过下面的语句来自定义验证规则    // 电话号码验证    ...

  6. jquery.form.js+jquery.validation.js实现表单校验和提交

      一.jquery引用 主要用到3个js: jquery.js jquery.form.js jquery.validation.js 另外,为了校验结果提示本地化,还需要引入jquery.vali ...

  7. jquery.form.js 让表单提交更优雅

    jquery.form.js 让表单提交更优雅.可以页面不刷新提交表单,比jQuery的ajax提交要功能强大. 1.引入 <script src="/src/jquery-1.9.1 ...

  8. 使用jquery.form.js的ajaxsubmit方法提交数据的Bug

    周五同事遇到一个很奇怪的问题,调到下班,虽然问题解决了,但是不知道问题的具体原因,回来翻了翻代码,才发现症结所在,下面就分享出来,供遇到同样问题的同行们参考: 先把问题描述一下,做的功能是使用ajax ...

  9. jQuery选取所有复选框被选中的值并用Ajax异步提交数据

    昨天和朋友做一个后台管理系统项目的时候涉及到复选框批量操作,如果用submit表单提交挺方便的,但是要实现用jQuery结合Ajax异步提交数据就有点麻烦了,因为我之前做过的项目中基本上没用Ajax来 ...

随机推荐

  1. HDU 4707:Pet

    Pet Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  2. 20150612_Andriod contextual action mode 菜单

    参考地址:http://www.xuebuyuan.com/1114028.html              http://www.cnblogs.com/mengdd/p/3564782.html ...

  3. ROADS

    ROADS Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11977 Accepted: 4429 Description N ...

  4. office 2013 产品秘钥

    9RN4T-JPBQV-XQMC9-PM9FP-PGWP9 TKX7J-VDN26-Y2WKQ-7MG8R-X2CC9 N9M8X-QDKGK-W27Q6-2GQYT-TJC9K 4VNXV-F7PB ...

  5. Unity脚本在层级面板中的执行顺序测试2

    上一篇测试了生成顺序对执行顺序的影响,链接:LINK 执行顺序测试3: LINK 这篇主要测试一下Awake,OnEnable,Start三个常用消息的循环顺序 1.测试消息循环顺序 先上一个最简单的 ...

  6. gcc/g++动态链接库和静态库的链接顺序

    转自:http://withc8212.blog.163.com/blog/static/11656983820109263562854/ so文件:动态库a文件: 静态库exe文件:可执行程序(li ...

  7. 【Linux】CentOS设置静态IP(非动态获取IP)

    在VMware上安装好Linux后,默认设置的动态IP,每次启动的IP都不同,远程连接挺费劲的. 于是,需要设置静态的IP,至少我从远程工具连接上去方便多了.另外,为了安装一些软件,也需要访问互联网. ...

  8. 3.linux man手册

    (12) man作用:查询man手册,获得帮助信息man 1 ls 1表示查询的是linux命令man 2 xxx 2表示查询的是linux apiman 3 xxx 3表示查询的是C库函数注意:在m ...

  9. Cheatsheet: 2014 11.01 ~ 11.30

    Mobile Android SDK: Working with Picasso View Debugging in Xcode 6 5 Common C# tasks in Apple Swift ...

  10. (转)C# Winform应用程序占用内存较大解决方法整理

    背景: 微软的 .NET FRAMEWORK 现在可谓如火如荼了.但是,.NET 一直所为人诟病的就是“胃口太大”,狂吃内存,虽然微软声称 GC 的功能和智能化都很高,但是内存的回收问题,一直存在困扰 ...