使用jQuery.form插件实现表单异步提交+上传文件
2014-03-11 10:27
1536 查看
1、前端代码
2、后端PHP代码
jquery.form插件是一个使用简单功能强大的表单异步上传插件,它提供了丰富的API和配置项来适应不同的需求。官方地址:http://jquery.malsup.com/form/。
1)、jquery.form可以包含的参数options
回调函数
beforeSerialize在表单序列化之前调用,默认值是:null
beforeSubmit在表单提交之前调用,可以表单验证放到该函数中。默认值:null
success 表单提交成功后的回调函数,函数包含的参数有,1: responseText 或responseXML 值,该值依赖与dataType属性的设置。2: statusText 返回状态文本。3: xhr或者是表单的jquery对象。4:表单的jquery对象。
uploadProgress 上传进度更新时调用的函数。
属性设置
clearForm Boolean值属性,表示是否在表单提交成功后情况表单数据
dataType 提交成果后返回的数据格式,可选值包括xml,json或者script
target 服务器返回信息去更新的页面对象,可以是jquery选择器字符串或者jquer对象或者DOM对象。
type 提交类型可以是”GET“或者”POST“
url 表单提交的路径
2)、使用ajaxForm
$(‘#myFormId’).ajaxForm(); 预处理表单提交。可以包含零个或一个参数,参数就是上面介绍的options。
3)、使用ajaxSubmit
调用后立即提交表单。也可以包含零个或者options参数。
4)、formSerialize 序列化表单,并返回一个查询字符串,格式为name1=value1&name2=value2。
5)、fieldSerialize 用于序列化表单的一部分,返回一个字符串,格式为name1=value1&name2=value2。
6)、fieldValue 返回匹配表单的值,返回的是一个数组,如果没有匹配的值将返回空数组。
7)、resetForm 重置表单元素的值。
8)、clearForm 清空表单元素的值,将清空所以表单的值。
9)、clearFields 清空选定属性的值。
更详细的请查看官方文档。
1 | <!DOCTYPE html> |
2 | < html > |
3 | < head > |
4 | < meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" > |
5 | < title ></ title > |
6 | < script type = "text/javascript" src = "js/jquery-1.7.2.min.js" ></ script > |
7 | < script type = "text/javascript" src = "js/jquery.form.min.js" ></ script > |
8 | </ head > |
9 | < body > |
10 | < form id = "fileForm" method = "post" enctype = "multipart/form-data" action = "upload.php" > |
11 | 文件名称:< input name = "fileName" type = "text" >< br /> |
12 | 上传文件:< input name = "myfile" type = "file" >< br /> |
13 | < input id = "submitBtn" type = "submit" value = "提交" > |
14 | </ form > |
15 | < script type = "text/javascript" > |
16 | $(function(){ |
17 | $("#fileForm").ajaxForm({ |
18 | //定义返回JSON数据,还包括xml和script格式 |
19 | dataType:'json', |
20 | beforeSend: function() { |
21 | //表单提交前做表单验证 |
22 | }, |
23 | success: function(data) { |
24 | //提交成功后调用 |
25 | alert(data.message); |
26 | } |
27 | }); |
28 | }); |
29 | </ script > |
30 | </ body > |
31 | </ html > |
1 | <?php |
2 | define( 'BASE_PATH' ,dirname( __FILE__ )); |
3 |
4 | move_uploaded_file( $_FILES [ 'myfile' ][ 'tmp_name' ],BASE_PATH.DIRECTORY_SEPARATOR. 'ufs' .DIRECTORY_SEPARATOR. $_FILES [ 'myfile' ][ 'name' ]); |
5 | $name = $_POST [ 'fileName' ]; |
6 |
7 | echo "{\"message\":\"上传成功!$name\"}" ; |
1)、jquery.form可以包含的参数options
回调函数
beforeSerialize在表单序列化之前调用,默认值是:null
1 | beforeSerialize: function ($form, options) { |
2 | // return false 阻止表单提交 |
3 | } |
1 | beforeSubmit: function (arr, $form, options) { |
2 | //arr数组中包含表单中的数据,格式如下: |
3 | // [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ] |
4 |
5 | // return false 取消表单提交 |
6 | } |
uploadProgress 上传进度更新时调用的函数。
属性设置
clearForm Boolean值属性,表示是否在表单提交成功后情况表单数据
dataType 提交成果后返回的数据格式,可选值包括xml,json或者script
target 服务器返回信息去更新的页面对象,可以是jquery选择器字符串或者jquer对象或者DOM对象。
type 提交类型可以是”GET“或者”POST“
url 表单提交的路径
2)、使用ajaxForm
$(‘#myFormId’).ajaxForm(); 预处理表单提交。可以包含零个或一个参数,参数就是上面介绍的options。
3)、使用ajaxSubmit
调用后立即提交表单。也可以包含零个或者options参数。
1 | $( '#myFormId' ).submit( function () { |
2 | // 提交表单 |
3 | $( this ).ajaxSubmit(); |
4 | // return false to prevent normal browser submit and page navigation |
5 | return false ; |
6 | }); |
1 | var queryString '#myFormId' ).formSerialize(); |
2 |
3 | //可以使用 $.get, $.post, $.ajax,等方法提交这些数据 |
4 | $.post( 'myscript.php' , queryString); |
1 | var queryString '#myFormId .specialFields' ).fieldSerialize(); |
1 | var value '#myFormId :password' ).fieldValue(); |
2 | alert( 'The password is: ' + value[0]); |
1 | $( '#myFormId' ).resetForm(); |
1 | $( '#myFormId' ).clearForm(); |
1 | $( '#myFormId .specialFields' ).clearFields(); |
相关文章推荐
- 使用jQuery.form插件实现表单异步提交+上传文件
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- jquery插件---模拟from表单上传文件,实现异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 【jQuery】Jquery.form.js实现表单异步提交以及文件上传(带进度条)
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交【转发】
- 【文件上传】使用jquery.form.js来实现表单提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交