使用jquery.form.js提交表单上传文件
方法:
1.formSerilize() 用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式。
2.clearForm() 清除表单中所有输入值的内容。
3.restForm 重置表单中所有的字段内容。即将所有表单中的字段恢复到页面加载时的默认值。
疑问:ajaxForm()与ajaxSubmit()的区别:
答案:$("#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("表单提交已成功!");}); |
注意:ajaxForm()与ajaxForm()都可以没有参数或者接受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 //设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。} |
例子:
页面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 () { var options = { url: "indexAjax.aspx", target: "#div2", success: function () { alert("ajax请求成功"); } }; $("#form1").ajaxForm(options); })})</script> |
页面HTML代码:
|
1
2
3
4
5
6
7
8
9
10
|
<div id="div1"><form id="form1" method="get" action="#"> <p>我的名字:<input type="text" name="name" value="请输入内容" /></p> <p>我的偶像是:<input type="radio" name="Idol" value="刘德华" />刘德华 <input type="radio" name="Idol" value="张学友" />张学友</p> <p>我喜欢的音乐类型:<input type="checkbox" name="musictype" value="1.摇滚">摇滚 <input type="checkbox" name="musictype" value="2.轻松">轻柔 <input type="checkbox" name="musictype" value="3.爵士">爵士</p> <p><input type="submit" value="确认" /></p></form></div><div id="div2"></div> |
后台:indexAjax.aspx.cs代码
|
1
2
3
4
5
6
7
8
9
|
protected void Page_Load(object sender, EventArgs e){ string strName = Request["name"]; string strIdol = Request["Idol"]; string strMusicType = 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 ...
随机推荐
- vue-cli的webpack模板项目配置文件分析
由于最近在vue-cli生成的webpack模板项目的基础上写一个小东西,开发过程中需要改动到build和config里面一些相关的配置,所以刚好趁此机会将所有配置文件看一遍,理一理思路,也便于以后修 ...
- iOS-联系人应用(一)
环境:xcode6,iphone 4s simulator with iOS8.0 一.功能界面介绍 1.1 应用启动进入联系人列表页面,数据为模拟数据,来源与一个plist文件: 1.2 点击右上角 ...
- Mybatis-Generator生成Mapper文件中<if test="criteria.valid">的问题解答
写在前面 <Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦> 由于开源了项目的缘故,很多使用了My Blog项目的朋友遇到问题也都会联系我去 ...
- 44. leetcode 28. Implement strStr()
28. Implement strStr() Implement strStr(). Returns the index of the first occurrence of needle in ha ...
- 从零开始编写动态库文件Makefile,C++版
这篇文章前,假设你已经看过<跟我一起写Makefile(一)>,陈皓写的那个. 对现有的一个C++动态库文件和调用程序,分别编写Makefile文件,从零开始,花了四天时间才搞清楚一半,生 ...
- NYOJ--325--深度优先搜索--zb的生日
/* Name: NYOJ--325--zb的生日 Author: shen_渊 Date: 15/04/17 08:18 Description: 输入时计算总质量,DFS搜索和总质量差值一般最接近 ...
- SecureCRT 常用命令大全
常用命令:一.ls 只列出文件名 (相当于dir,dir也可以使用) -A:列出所有文件,包含隐藏文件. -l:列表形式,包含文件的绝大部分属性. -R:递归显示. --help:此命令的帮助. 二. ...
- GDB教程
GDB是一个由GNU开源组织发布的.UNIX/LINUX操作系统下的.基于命令行的.功能强大的程序调试工具. GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调 ...
- 001-Mono for android在vs2012中发布设置
详细讲解 :http://www.cr173.com/html/20099_1.html 这里是快速设置: 1,把Debug换成Release 这里是必须改的 2,点击工具选项 3, ...
- CentOS 7 服务器配置--安装Redis
#下载Redis wget -r -np -nd http://download.redis.io/releases/redis-3.2.8.tar.gz #解压文件 tar zxvf redis-3 ...