EdwardSiCong 2012-06-16
Ajaxfileuploadplugin是一个功能强大的文件上传jQuery插件,可自定义链接、图片或其它元素取代传统的file表单上传效果,可实现Ajax动态提示文件上传过程,同时支持多文件上传,AjaxFileUpload文件上传插件功能比较稳定,目前应用也比较多,简单使用实例如下:
查看AjaxFileUpload相关jQuery官方文档介绍
下载AjaxFileUploadJS库文件
查看AjaxFileUpload演示
一,创建一个ajaxupload按钮元素(button),可以是任意元素(链接、图片等),如下:
<divid="upload_button">上传</div>
二,创建一个ajaxupload上传实例,如下:
newAjaxUpload('upload_button_id',{action:'upload.php'});
其中upload_button_id表示第一步创建的元素ID,upload.php表示处理上传文件的PHP文件。
配置ajaxupload
newAjaxUpload('#upload_button_id',{
action:'upload.php',
name:'userfile',
data:{
example_key1:'example_value',
example_key2:'example_value2'
},
autoSubmit:true,
onChange:function(file,extension){},
onSubmit:function(file,extension){},
onComplete:function(file,response){}
});
1,action表示处理上传文件的PHP文件
2,name表示上传文件name,与<inputtype="file"name="upload"/>其中的upload
3,data表示额外的参数
4,autoSubmit表示是否自动提交
5,onChange表示触发change事件调用函数,其中extension表示文件后缀
6,onSubmit表示触发提交事件调用函数
7,onComplete表示文件上传成功事件调用函数
jQuery插件AjaxFileUpload文件上传实例代码一
实现ajax动态文字提示上传状态功能,分别触发onSubmit和onComplete事件
varbutton=$('#button1'),interval;
newAjax_upload(button,{
action:'upload-test.php',
name:'myfile',
onSubmit:function(file,ext){
button.text('Uploading');
this.disable();
interval=window.setInterval(function(){
vartext=button.text();
if(text.length<13){
button.text(text+'.');
}else{
button.text('Uploading');
}
},200);
},
onComplete:function(file,response){
button.text('Upload');
window.clearInterval(interval);
this.enable();
$('<li></li>').appendTo('#example1.files').text(file);
}
});
jQuery插件AjaxFileUpload文件上传实例代码二
实现文件后缀格式检查功能,如:(ext&&/^(jpg|png|jpeg|gif)$/.test(ext))
newAjax_upload('#button2',{
action:'upload.htm',
data:{
'key1':"Thisdatawon't",
'key2':"besendbecause",
'key3':"wewilloverwriteit"
},
onSubmit:function(file,ext){
if(ext&&/^(jpg|png|jpeg|gif)$/.test(ext)){
this.set_data({
'key':'Thisstringwillbesendwiththefile'
});
$('#example2.text').text('Uploading'+file);
}else{
$('#example2.text').text('Error:onlyimagesareallowed');
returnfalse;
}
},
onComplete:function(file){
$('#example2.text').text('Uploaded'+file);
}
});
jQuery插件AjaxFileUpload文件上传实例代码三
最基础的多文件AjaxFileUpload上传功能
newAjax_upload('#button3',{
action:'upload.htm',
name:'myfile',
onComplete:function(file){
$('<li></li>').appendTo($('#example3.files')).text(file);
}
});
使用jQuery插件AjaxFileUpload文件上传功能非常强大,内置函数定义的事件和交互比较多,大家可看看上面三个实例的演示,实现Javascript多文件上传功能,值得推荐。
为了美观,把 type="file" 控件隐藏。点击“上传”按钮,click调用隐藏文件控件,再选择文件。查了一遍,好像是ie为了安全控制,文件的必须鼠标点击过后,才能提交。还没有想到其他的方法。。。
5,success 提交成功后自动执行的处理函数,参数data就是服务器返回的数据。6,error 提交失败自动执行的处理函数。7,data 自定义参数。fileElementId: 'file1',
-- 引入相关的js文件,相对路径 -->. -- 执行上传文件操作的函数 -->. method=uploader', //需要链接到服务器地址。fileElementId:'houseMaps',