使用jquery.form.js提交表单上传文件
方法:
1.formSerilize() 用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式。
2.clearForm() 清除表单中所有输入值的内容。
3.restForm 重置表单中所有的字段内容。即将所有表单中的字段恢复到页面加载时的默认值。
疑问:ajaxForm()与ajaxSubmit()的区别:
答案:$("#form1").ajaxForm(); 相当于以下两行:
| 1 2 3 4 | $("#form1".submit)(function(){ $("#form1").ajaxSubmit();returnfalse;}) | 
也就是说ajaxFrom()会自动阻止表单提交。而ajaxSubmit()不会自动阻止表单提交,想阻止表单提交,要自己return false;
技巧1:如果希望表单提交完成后不跳转,那么一行简单的代码就能够实现,几乎与不使用表单提交是一样的:
| 1 2 3 | $("#MailForm").ajaxSubmit(function(message) {  alert("表单提交已成功!");}); | 
注意:ajaxForm()与ajaxForm()都可以没有参数或者接受1个参数。该参数既可以是一个回调函数,也可以是一个options对象。该对象功能非常强大,说明如下:
| 1 2 3 4 5 6 7 8 9 10 11 | varoptions={ url:url, //form提交数据的地址 type:type, //form提交的方式(method:post/get) target:target, //服务器返回的响应数据显示在元素(Id)号确定 beforeSubmit:function(), //提交前执行的回调函数 success:function(), //提交成功后执行的回调函数 dataType:null, //服务器返回数据类型 clearForm:true, //提交成功后是否清空表单中的字段值 restForm:true, //提交成功后是否重置表单中的字段值,即恢复到页面加载时的状态 timeout:6000 //设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。} | 
例子:
页面js代码:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <script src="jQuery.1.8.3.js"type="text/javascript"></script><script src="jQuery.Form.js"type="text/javascript"></script><script type="text/javascript">$(function() {  $(":submit").click(function() {    varoptions = {      url: "indexAjax.aspx",      target: "#div2",      success: function() {        alert("ajax请求成功");      }    };    $("#form1").ajaxForm(options);  })})</script> | 
页面HTML代码:
| 1 2 3 4 5 6 7 8 9 10 | <divid="div1"><formid="form1"method="get"action="#">  <p>我的名字:<inputtype="text"name="name"value="请输入内容"/></p>  <p>我的偶像是:<inputtype="radio"name="Idol"value="刘德华"/>刘德华  <inputtype="radio"name="Idol"value="张学友"/>张学友</p>  <p>我喜欢的音乐类型:<inputtype="checkbox"name="musictype"value="1.摇滚">摇滚 <inputtype="checkbox"name="musictype"value="2.轻松">轻柔 <inputtype="checkbox"name="musictype"value="3.爵士">爵士</p>  <p><inputtype="submit"value="确认"/></p></form></div><divid="div2"></div> | 
后台:indexAjax.aspx.cs代码
| 1 2 3 4 5 6 7 8 9 | protectedvoidPage_Load(objectsender, EventArgs e){  stringstrName = Request["name"];  stringstrIdol = Request["Idol"];  stringstrMusicType = Request["musictype"];  Response.Clear();  Response.Write("我的名字是:"+ strName + ";  我的偶像是:"+ strIdol + ";  我喜欢的音乐类型:"+ strMusicType);  Response.End();} | 
自己做的demo:
<form action="" method="POST" name='formUpdate'enctype="multipart/form-data" role="form" id="addActivity" >
<input type="submit" class="btn btn-info create-activity" value="保存">
</form>
$(".create-activity").on("click",function(){
  
$("#addActivity").submit(function(){
    $(this).ajaxSubmit({
        url:"/activity/operate",
        success:function(data){
            alert(data['msg'])
            window.location.href="...."
            return false;
        },
        resetForm:true,
        dataType:'json'
    })
    return false;
})
}
使用jquery.form.js提交表单上传文件的更多相关文章
- 通过ajax提交表单上传文件
		//这是看的大神的.//原地址:https://www.cnblogs.com/kissdodog/archive/2012/12/15/2819025.html $("#sub" ... 
- libcurl提交表单上传文件
		不多说了,curl的http上传文件代码示例,有需要的可以参考. int http_post_file(const char *url, const char *user, const char *p ... 
- jquery.form.js 让表单提交更优雅
		jquery.form.js 让表单提交更优雅.可以页面不刷新提交表单,比jQuery的ajax提交要功能强大. 1.引入 <script src="/src/jquery-1.9.1 ... 
- 巨蟒python全栈开发django11:ajax&&form表单上传文件contentType
		回顾: 什么是异步? 可以开出一个线程,我发出请求,不用等待返回,可以做其他事情. 什么是同步? 同步就是,我发送出了一个请求,需要等待返回给我信息,我才可以操作其他事情. 局部刷新是什么? 通过jq ... 
- JsonResponse类的使用、form表单上传文件补充、CBV和FBV、HTML的模板语法之传值与过滤器
		昨日内容回顾 Django请求生命周期 # 1.浏览器发起请求 到达Django的socket服务端(web服务网关接口) 01 wsgiref 02 uwsgi + nginx 03 WSGI协议 ... 
- vue form表单上传文件
		<script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js">< ... 
- 使用form表单上传文件
		在使用form表单上传文件时候,input[type='file']是必然会用的,其中有一些小坑需要避免. 1.form的 enctype="multipart/form-data" ... 
- django 基于form表单上传文件和基于ajax上传文件
		一.基于form表单上传文件 1.html里是有一个input type="file" 和 ‘submit’的标签 2.vies.py def fileupload(request ... 
- java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例
		java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例HttpClient 测试类,提供get post方法实例 package com.zdz.httpclient; i ... 
随机推荐
- 抓取60000+QQ空间说说做一次数据分析
			对于QQ空间的数据一直来是垂涎不已,老早就想偷过来研究研究,这几天闲下来便开始动手... 整个程序的流程为:登录-->获取cookie-->获取所有的好友qq_number-->根据 ... 
- android rss阅读器开发一点小技巧
			这几天一直在学习开发Rss阅读器,遇到一个很坑的问题,InputSource这里总是出错.弄了好久,终于让我找到一个解决方法----看代码: new Thread(){ @Override publi ... 
- YII2 添加全局自定义函数
			方法一: 这种方法就是直接在入口文件web/index.php里面写函数,示例代码如下: 全局函数 function pr($var){ //do something } (new yii\web\A ... 
- [bzoj1592] Making the Grade
			[bzoj1592] Making the Grade 题目 FJ打算好好修一下农场中某条凹凸不平的土路.按奶牛们的要求,修好后的路面高度应当单调上升或单调下降,也就是说,高度上升与高度下降的路段不能 ... 
- SSD的传输总线、传输协议、传输接口
			前言:关于SSD,有众多总线类型.协议类型.接口类型,每个接口还包括不同型号,在这里花点时间全部整理一下,整理日期2017-08-08. 1.传输总线 总线就像一条公路,公路上的车好比总线上的电信号: ... 
- 白帽子之路首章:Footprinting, TARGET ACQUISITION
			*Disclaimer: All materials provided on this blog are for educational purposes only. The author and o ... 
- 一次使用pywin32学到的知识
			FindWindow这个函数检索处理顶级窗口的类名和窗口名称匹配指定的字符串.这个函数不搜索子窗口. FindWindowEx:FindWindowEx是在窗口列表中寻找与指定条件相符的第一个子窗口 ... 
- Sublime Text3快捷键
			Ctrl+D 选词 (反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑)Ctrl+G 跳转到相应的行Ctrl+J 合并行(已选择需要合并的多行时)Ctrl+L 选择整行(按住-继续选择下 ... 
- DB2 HADR备库归档问题
			--DB2 HADR备库归档问题 --------------------------------2013/10/29 我们注意到在Oracle DataGuard中,备机中依然会设置LOG_ARCH ... 
- Oracle用户操作
			1.超级管理员的身份登录oracle:sqlplus / as sysdba 2.显示当前连接用户SQL> show user 3.新建用户并授权SQL> create user a ... 
