前言

    1. 为什么使用JQuery.From.js,因为原生<form>表单没有回调函数,不过可以通过jquery-form.js这个插件来实现回调函数。
    2. jQuery.form.js是一个form 插件,支持 ajax表单提交 和 ajax文件上传。
方法
    1. formSerilize()  用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式。
    2. clearForm()     清除表单中所有输入值的内容。
    3. restForm        重置表单中所有的字段内容。即,将所有表单中的字段恢复到页面加载时的默认值。
    4. 两个主要的 API:ajaxForm(),ajaxSubmit()。
疑问
    1. ajaxForm() 与 ajaxSubmit() 的区别:
      1. $("#form1").ajaxForm();  相当于以下两行:

        1
        2
        3
        4
        $("#form1".submit)(function(){
             $("#form1").ajaxSubmit();
             return false;
        })

        也就是说 ajaxFrom()会自动阻止表单提交。而 ajaxSubmit()不会自动阻止表单提交,想阻止表单提交,要自己 return false;

技巧
    1. 如果希望表单提交完成后不跳转,那么一行简单的代码就能够实现,几乎与不使用表单提交是一样的:

      1
      2
      3
      $("#MailForm").ajaxSubmit(function(message) {
            alert("表单提交已成功!");
      });
      1. 注意:ajaxForm()与 ajaxSubmit() 都可以没有参数或者接受1个参数。该参数既可以是一个回调函数,也可以是一个options对象。该对象功能非常强大,说明如下:

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        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     //设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。
        }
    2. 或者,使用 iframe 来防止提交表单时防止页面跳转;
demo:点击按钮,弹出文件上传选择框,选择文件确定后,发送上传请求。
    1. html

      1
      2
      3
      4
      5
      </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>
    2. Javascript
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      VipCar.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);
      };
注意问题
    1. 引入js文件,建议 jquery-form.js,紧随 jquery文件之后,之前我中间穿插引入了easyui 导致 ajaxSubmit() 不可用。

【整理】01. jQuery.Form.js 用法分析的更多相关文章

  1. jquery.form.js用法之清空form的方法

    本段代码摘取自jquery.form.js中,由于觉得该方法的使用性非常强,同时也可独立拿出来使用.该段代码言简意赅可以很好的作为学习参考. /** * Clears the form data. T ...

  2. jquery.form.js详细讲解

    现在大家在在表单提交的时候都不流行中间页面做跳转(比如发布成功的提示页面),或者说这样做会降低用户体验.所以一般都是采用ajax来提交,能看到这个页面的朋友,想必对ajax提交表单已经是很熟悉了. 如 ...

  3. jQuery通过jquery.form.js插件使用AJAX提交Form表单

    我简单使用了一下,jQuery Form插件有一下优点:  1.支持提交前验证. 2.支持提交后回调. 3.采用AJAX方式,有很好的用户体验 4.提交方式是灵活.只要指定要提交的form ID即可. ...

  4. jquery.form.js实现将form提交转为ajax方式提交的使用方法

    本文实例讲述了jquery.form.js实现将form提交转为ajax方式提交的方法.分享给大家供大家参考.具体分析如下: 这个框架集合form提交.验证.上传的功能. 这个框架必须和jquery完 ...

  5. bootstrap3-datepicker and jquery.form.js

    bootstrap3-datepicker 和 jquery.form.js 这两个控件又起来都比较简单,就一起介绍了. 先说datepicker. github上的地址是:https://githu ...

  6. jquery提交form表单插件jquery.form.js

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 使用jquery.form.js提交表单上传文件

    方法: 1.formSerilize()  用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式. 2.clearForm()   清除表单中所有输入值的内容. 3.restF ...

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

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

  9. jquery.form.js ajax提交上传文件

    项目中最近有用到表单提交,是带有图片上传的表单录入,需要ajax异步提交,网上找了好多例子都是只能提交上传字段一个信息的,这里整理一下.表单里有普通文本信息字段也有图片上传字段. 1.jsp代码--引 ...

随机推荐

  1. 短信发送接口被恶意访问的网络攻击事件(三)定位恶意IP的日志分析脚本

    前言 承接前文<短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求>,文中有讲到一个定位非法IP的shell脚本,现在就来公布一下吧,并没有什么技术难度,只是当时花了些时间去写 ...

  2. 用 Docker Machine 创建 Azure 虚拟主机

    搭建环境向来是一个重复造轮子的过程,Docker Machine 则把用户搭建 Docker 环境的各种方案汇集在了一起.笔者在<Docker Machine 简介>一文中演示了使用 Do ...

  3. 通过java反射得到javabean的属性名称和值参考

    通过java反射得到javabean的属性名称和值 Field fields[]=cHis.getClass().getDeclaredFields();//cHis 是实体类名称 String[] ...

  4. [命令行] curl查询公网出口IP

    转载:http://blog.csdn.net/orangleliu/article/details/51994513 不管是在家里还是办公室,或者是公司的主机,很多时候都是在内网中,也就是说很多都是 ...

  5. Spring Boot 集成 Mybatis

    原文:https://github.com/x113773/testall/issues/9 方式一:mybatis-spring-boot-starter---这种方式比较简单,具体步骤如下:1. ...

  6. 【Android Developers Training】 59. 管理图片存储

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  7. Hadoop生态系统图解

    Hadoop生态架构图 参考文章: Hadoop生态系统介绍 HDFS架构 1.NaneDode:主节点,**存储文件的元数据**如文件名,文件目录结构,文件属性(生成时间,副本数量,文件权限),以及 ...

  8. Spring中获取对象

    Spring是一个非常主流,而且是好用的框架.提供管理对象的容器,提供事务的支持,缓存,权限认证(往往不用).用来集成hibernate等.而管理对象的生命周期是其中一个非常重要的功能.在Spring ...

  9. Java 用Freemarker完美导出word文档(带图片)

    Java  用Freemarker完美导出word文档(带图片) 前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. ...

  10. 性能百万/s:腾讯轻量级全局流控方案详解

    WeTest 导读 全新的全局流控实现方案,既解决了目前流控的实现难点,同时保证运行稳定且流控准确的前提下,实现更简单,部署成本更低,容灾能力更强. 该方案组件化之后,可以推广到别的有需要的部门使用, ...