Jquery插件之ajaxForm简介

我们平常在使用jQuery异步提交表单的时候,一般都是加载在submit事件中,如下所示:

 1 $(document).ready(function(){
 2     $(‘#myForm‘).submit(function(){
 3       $.ajax({
 4             url:‘www.xxx.com‘,
 5             data:$(‘#myForm‘).serialize(),
 6             dataType:‘json‘,
 7             error:function(data){
 8                  alert(data);
 9             }
10             success:function(data){
11                alert(data);
12             }
13
14       });
15     });
16 })

但是这样的方式掩盖了form的功能 ,使他变相的成为了无刷新的ajax技术  下面来看看更符合form的ajaxForm 1 //1、回调函数使用方法

 2 $(‘#form1‘).ajaxForm(function() {       //注意 ajaxForm是为表单提交做准备表单并不是真的提交 他需要用submit()方法来触发! ajaxForm接收0到1个参数!
 3    $(‘#output1‘).html("提交成功!").show();// 这个参数可以是一个回调函数 也可以是一个options对象!
 4 });
 5 $(‘#form1‘).ajaxSubmit(function() {       //ajaxSubmit是表单立即提交 该函数也接收0到1个参数 这个函数可以是一个匿名的回调函数 也可以是一个options对象//用法和ajaxForm类似
 6    $(‘#output2‘).html("提交成功!").show();
 7 });
 8
 9 //2、option对象使用方法
10 var ajax_option={
11    target: ‘#output‘,              //把服务器返回的内容放到id为output的元素中
12    beforeSubmit: showRequest,      //提交前的回调函数 beforeSubmit 回调函数作为一个钩子函数 常被用来运行预提交逻辑或者是检验表单的数局 如果在该函数中 return false 那么                                      //表单将不能提交 beforeSubmit带3个调用参数 这3个调用参数 你必须显示的调用 参数1. 数组对象 formData 参数2. jQuery表单对象 jqForm,                                      //参数3.options! 其中表单数组接受一下形式的数据:[{name:‘username‘,value:‘jianjie‘},{name:‘password‘,value:‘screat‘}]
13    success: showResponse,          //提交成功后的回调函数
14    url: url,                       //提交的url地址 如果没有 则默认使用表单的action 如果有则覆盖
15    type: type,                     //提交数据的方式 如果没有 则默认使用表单的method 如果有则覆盖
16    dataType: null,                 //返回的数据类型  现阶段一般用json
17    clearForm: true,                //提交成功后是否清空表单里面的数值 true为清空 false 为不清空
18    resetForm: true,                //提交成功后是否重置表单中的数据  true为清空 false  为不清空
19    timeout: 3000                  //设置请求的时间  超出时间则自动放弃连接
20 };
21 //formData: 数组对象,提交表单时,Form插件会以Ajax方式自动提交这些数据,格式如:[{name:user,value:val },{name:pwd,value:pwd}]
22 //jqForm:   jQuery对象,封装了表单的元素
23 //options:  options对象
24 function showRequest(formData, jqForm, options){
25    var queryString = $.param(formData);   //序列化一个key/value对象 name=1&password=1234
26    var formElement = jqForm[0];              //jquery对象和js对象相互的转换
27    var address = formElement.address.value;  //获取表单元素的 name=address的输入框的value值
28    return true;  //只要不反回false 表单都会提交 在这里就对表单进行验证
29 };
30 function showResponse(responseText, statusText){
31    //dataType=xml
32    var name = $(‘name‘, responseXML).text();
33    var address = $(‘address‘, responseXML).text();
34    $("#xmlout").html(name + "  " + address);
35    //dataType=json
36    $("#jsonout").html(data.name + "  " + data.address);
37 };
38 $(‘#form1‘).ajaxSubmit(ajax_option);  

ajaxForm和ajaxSubmit的区别 : ajaxForm不主动提交数据 需要事件触发  而ajaxSubmit直接就是提交表单不需要事件的触发

ajaxForm实质上也是$.ajax()实现的一种! 只不过ajaxForm更接近form的特性! 用法习惯依照个人习惯

  1. //1、回调函数使用方法
  2. $(‘#form1‘).ajaxForm(function() {
  3. $(‘#output1‘).html("提交成功!").show();
  4. });
  5. $(‘#form1‘).ajaxSubmit(function() {
  6. $(‘#output2‘).html("提交成功!").show();
  7. });
  8. //2、option对象使用方法
  9. var ajax_option={
  10. target: ‘#output‘,          //把服务器返回的内容放入id为output的元素中
  11. beforeSubmit: showRequest,  //提交前的回调函数
  12. success: showResponse,      //提交后的回调函数
  13. url: url,                 //默认是form的action, 如果申明,则会覆盖
  14. type: type,               //默认是form的method(get or post),如果申明,则会覆盖
  15. dataType: null,           //html(默认), xml, script, json...接受服务端返回的类型
  16. clearForm: true,          //成功提交后,清除所有表单元素的值
  17. resetForm: true,          //成功提交后,重置所有表单元素的值
  18. timeout: 3000               //限制请求的时间,当请求大于3秒后,跳出请求
  19. };
  20. //formData: 数组对象,提交表单时,Form插件会以Ajax方式自动提交这些数据,格式如:[{name:user,value:val },{name:pwd,value:pwd}]
  21. //jqForm:   jQuery对象,封装了表单的元素
  22. //options:  options对象
  23. function showRequest(formData, jqForm, options){
  24. var queryString = $.param(formData);   //name=1&address=2
  25. var formElement = jqForm[0];              //将jqForm转换为DOM对象
  26. var address = formElement.address.value;  //访问jqForm的DOM元素
  27. return true;  //只要不返回false,表单都会提交,在这里可以对表单元素进行验证
  28. };
  29. function showResponse(responseText, statusText){
  30. //dataType=xml
  31. var name = $(‘name‘, responseXML).text();
  32. var address = $(‘address‘, responseXML).text();
  33. $("#xmlout").html(name + "  " + address);
  34. //dataType=json
  35. $("#jsonout").html(data.name + "  " + data.address);
  36. };
  37. $(‘#form1‘).ajaxSubmit(ajax_option);
时间: 2024-08-09 21:59:13

Jquery插件之ajaxForm简介的相关文章

Jquery插件之ajaxForm ajaxSubmit的理解用法

如今ajax满天飞,作为重点的form自然也受到照顾. 其实,我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行.比如: $(function(){ $('#myForm').submit(function(){ $.ajax({ url:"/WebTest/test/testJson.do", data:$('#myForm').serialize(), dataType:"json", error:function(data

Jquery插件之ajaxForm

Jquery插件之ajaxForm 如今ajax满天飞,作为重点的form自然也受到照顾. 其实,我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行.比如: $(function(){ $('#myForm').submit(function(){ $.ajax({ url:"/WebTest/test/testJson.do", data:$('#myForm').serialize(), dataType:"json", e

booklet jquery插件系列之简介

booklet jquery插件系列之简介 一.安装 1.添加CSS和Javascript 添加booklet CSS文件到你的页面. <link rel="stylesheet" href="plugin/booklet/jquery.booklet.latest.css" media="screen,projection,tv"> 然后依次添加jQuery库,jQuery UI(可选)jQuery Easing插件和Booklet

Jquery插件之ajaxForm ajaxSubmit的理解用法(转)

我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行.比如: $(function(){ $('#myForm').submit(function(){ $.ajax({ url:"/WebTest/test/testJson.do", data:$('#myForm').serialize(), dataType:"json", error:function(data){ alert(data); }, success:func

制作一个简洁的jquery插件

原文:http://mp.weixin.qq.com/s?__biz=MzAxMzgwNDU3Mg==&mid=401571467&idx=1&sn=08cb00963e6efd3881d3397903e84752&scene=1&srcid=0125cT8n9FJMI1u2faaQgjcS&from=singlemessage&isappinstalled=0#wechat_redirect 英文原文链接:http://www.queness.co

seajs 包装 jquery 插件

包装jquery 插件 define(function (require, exports, moudles) { return function($){插件内容}; }) 使用: seajs.use(['ajaxForm'], function (aj) { aj($);//注册到jquery对象 });

自写图片遮罩层放大功能jquery插件源代码,photobox.js 1.0版,不兼容IE6

阿嚏~~~ 话说本屌丝没啥开发插件的经验,可是天公不作美,公司须要让我自己开发个图片放大的插件 但公司老大的话,宛如吾皇之圣旨,微臣必当肝脑涂地,莫敢不从啊~~~ 于是乎,作为一个超级小白,本人仅仅能瞎研究了,幸好黑天不负屌丝人,本屌丝最终搞出来了,尽管不尽善尽美,可是功能还是能够用的啦 先附上源代码,求各种大神指导: /******************************* * photobox跨浏览器兼容插件 v1.0(不支持IE6) * 格式:<a href="big.jpg

query插件之ajaxForm ajaxSubmit的理解用法

如今ajax满天飞,作为重点的form自然也受到照顾. 其实,我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行.比如: $(function(){ $('#myForm').submit(function(){ $.ajax({ url:"/WebTest/test/testJson.do", data:$('#myForm').serialize(), dataType:"json", error:function(data

jquery插件-表单提交插件-jQuery.Form

1.介绍 JQuery Form插件是一款强大的Ajax表单提交插件,可以简单方便的实现让我们的表单 由传统的提交方式转换成Ajax无刷新提交! 他提供了两个核心的方法ajaxForm以及ajaxSubmit 让我们方便的实现无刷新效果提交表单! http://malsup.com/jquery/form/ https://github.com/malsup这个因该是作者的gitbub,我下载看了一下那个readme文件竟然是 API 2.快速入门 1.引入插件 (方法同jQuery) 2.将表