提供一种方法就是利用jquery.form.js。

(1)这个框架集合form提交、验证、上传的功能。

核心方法 -- ajaxForm() 和 ajaxSubmit()

$('#myForm').ajaxForm(function() {
  alert("提交成功!欢迎下次再来!");
});

$('#myForm2').submit(function() {
  $(this).ajaxSubmit(function() {
    alert("提交成功!欢迎下次再来!"); 
  });
  return false; //阻止表单默认提交
});

ajaxForm() 和 ajaxSubmit() 都能接受0个或1个参数,当为单个参数时,该参数既可以是一个回调函数,也可以是一个options对象,上面的例子就是回调函数,

下面是options对象

代码如下:

第一步:引用js

<script type="text/javascript" src="js/jquery-1.7.min.js"></script>

<script type="text/javascript" src="js/jquery.form.js"></script>

第二步:页面写form 

<input type="text" id="text1">

<input type="text" id="text2">

<input type="text" id="text3">

<form method="post" enctype="multipart/form-data" id="formSubmit">

<div class="wrapBox">

<div class="fileBox clearfix">

<span class="pull-left">上传文件:</span>

<input type="file" class="pull-left" id="loadFile" name="uploadFile">

</div>

</div>

<div class="wrapSubmitBox clearfix">

<input type="button" id="submitBtn" value="提交">

<input type="hidden" id="ajaxParam" name="ajaxParam">

</div>

</form>

//上传文件的input  和提交按钮要写在form里面。<input type="hidden" id="ajaxParam" name="ajaxParam">是存储$(“#text1”),$(“#text2”),$(“#text3”)需要传给后台的数据。

//也可以写在form里面。不需要hidden.用最下面options里的data的方式传参。

第三步:写js调用jquery.form.js,对form表单进行ajax提交 :

$("#formSubmit").click(function(){

  var valtext1=$("#text1").val();

  var valtext2=$("#text2").val();

  var valtext3=$("#text3").val();

  uploadJsonData="{'text1':"+valtext1+",'text2':"+valtext2+",'valtext3':"+valtext3+"}";

  $("#ajaxParam").val(uploadJsonData);

  $("#formSubmit");

  var options = {

    url:'上传地址',

    type:'post',

    beforeSubmit: showRequest,         

    success:function(data){

      if(data.success==1){

        alert('上传成功')

      }

     },

    error:function(){

    }

   };

   $("#formSubmit");.ajaxSubmit(options);

  });

(2)options对象内的值有哪些?
var options = {
target: '#output',         //把服务器返回的内容放入id为output的元素中
data:{param1:"自己的额外的参数"},  //这个参数是指通过ajax来提交给服务器,提交除了form内部input的参数,在后台中使用String param1=req.getParameter("param1");获取。
beforeSubmit: showRequest,         //提交前的回调函数
success: showResponse,             //提交后的回调函数
url: url,                          //默认是form的action, 如果申明,则会覆盖action
type: type,                        //默认是默认是自己在form标签上指定的method(get or post),如果申明,则会覆盖,如果没有指定,则使用get。
dataType: null,                    //html(默认), xml, script, json...接受服务端返回的类型,这个参数值的是服务器返回的数据类型,默认的是null也就是服务器可以默认返回字符串,然后将这些字符串放在target内部,当然还有json、xml,其中最常用的便是null和json
clearForm: true,          //成功提交后,清除所有表单元素的值
resetForm: true,          //成功提交后,重置所有表单元素的值
timeout: 3000            //限制请求的时间,当请求大于3秒后,跳出请求
}

showRequest有三个参数formData, jqForm, options

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,表单都会提交,在这里可以对表单元素进行验证

};

利用jquery.form.js实现将form提交转为ajax方式提交的方法(带上传的表单提交)的更多相关文章

  1. 如何用elementui去实现图片上传和表单提交,用axios的post方法

    下面是在vue搭建的脚手架项目中的组件component文件夹下面的upload.vue文件中的内容 <!--这个组件主要用来研究upload这个elementui的上传插件组件--> & ...

  2. 基于Http原理实现Android的图片上传和表单提交

    版权声明:本文由张坤  原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/794875001483009140 来源:腾云阁  ...

  3. php 利用http上传协议(表单提交上传图片 )

    主要就是利用php 的 fsocketopen 消息传输. 这里先通过upload.html 文件提交,利用chrome抓包,可以看到几个关键的信息. 首先指定了表单类型为multipart/form ...

  4. swift文件上传及表单提交

    var carData:NSMutableDictionary = NSMutableDictionary(); var request:NSMutableURLRequest = NSMutable ...

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

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

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

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

  7. ajax方式提交带文件上传的表单,上传后不跳转

    ajax方式提交带文件上传的表单 一般的表单都是通过ajax方式提交,所以碰到带文件上传的表单就比较麻烦.基本原理就是在页面增加一个隐藏iframe,然后通过ajax提交除文件之外的表单数据,在表单数 ...

  8. form表单提交转为ajax方式提交

    <form action="xxx" method="get"> //action的值是请求的url地址 <div class="f ...

  9. struts2 文件的上传下载 表单的重复提交 自定义拦截器

    文件上传中表单的准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设 ...

随机推荐

  1. Redis String

    Redis String Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME ...

  2. 洛谷 最小费用最大流 模板 P3381

    #include<cstdio> #include<algorithm> #include<cstring> #include<queue> #defi ...

  3. Avito Cool Challenge 2018:C. Colorful Bricks

    C. Colorful Bricks 题目链接:https://codeforces.com/contest/1081/problem/C 题意: 有n个横向方块,一共有m种颜色,然后有k个方块的颜色 ...

  4. TCP面试题之滑动窗口原理

    TCP 滑动窗口 作用: 1. 提供TCP可靠性:对发送的数据进行确认 2. 流量控制:窗口大小随链路变化 一.TCP窗口机制 TCP中窗口大小是指tcp协议一次传输多少个数据.因为TCP是一个面向连 ...

  5. 7月13号day5总结

    今天学习过程和小结 使用伪分布式进行大数据计算,计算气象站记录气温的平均值 weather map()方法,key值数据多所以用LongWritable,value值是string类型,string类 ...

  6. dom内容区域的滚动overflow,scroll

    去掉手机上点击点中的默认高亮效果 -webkit-tap-highlight-color: rgba(0,0,0,0); ios手动启动一下监听touch事件以响应css伪类: document.ad ...

  7. 【Apache Nutch系列】Nutch2.0配置安装异常集锦

    1.java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration Exception in thread &qu ...

  8. HDU 1867 A + B for you again ----KMP

    题意: 给你两个字符串,输出他们合并之后的字符串,合并的时候把A的后缀和B的前缀重叠合(或者把A的前缀和B的后缀重合).要求合并后的串既包含A右包含B, 且使得合并后的字符串尽量短,其次是使得合并后的 ...

  9. 51Nod 1317 相似字符串对

    题目链接 分析: 考虑两个串的关系:$A+C=C+B$,我们观察可以发现,$A$和$B$是循环同构的,如果$A=G+H$,那么$B=H+G$,证明略长懒得写了... 我们知道$A$串有$K^N$种,所 ...

  10. 翻煎饼_简单模拟_C++

    一.题目描述(懒人可直接跳过看题目概述) 题目来源: SWUST OJ  题目0254 http://acm.swust.edu.cn/problem/0254/ 二.问题概述 给出一列数,每次可将包 ...