您的位置:首页 > Web前端 > JavaScript

写一个js编写的文件上传控件。(原创的)

2011-03-22 17:23 351 查看
function UploadFile(){}

UploadFile.prototype={

multiupload:false,

intervale:2000000,

enable:true,

synchro:false,

GetFileName:function(filepath){ return filepath.substr(filepath.lastIndexOf('//')+1); },

OnInit:function(objId){//初始化方法。

var FileList_Ul=document.getElementById(objId);

if(FileList_Ul!=null){

if(FileList_Ul.parentNode.childNodes[1]!=null){
file_obj=FileList_Ul.parentNode.childNodes[1];
var jsonmsg=file_obj.value;
var jsonobj=eval(jsonmsg);
var htmlmsg="";
if(jsonobj!=null&&jsonobj.length>0){
for(var i=0;i"+jsonobj[i].realname+"("+jsonobj[i].filesize+")删除"; }
FileList_Ul.innerHTML=htmlmsg; } if(FileList_Ul.childNodes.length>0) FileList_Ul.style.display="";
}
}
},

onSetJson:function(FileList_Ul){//通过json数据初始化。

var jsonmsg="";
if(FileList_Ul.childNodes.length>0){
for(var i=0;iparseInt(filesize/this.intervale))
loadcount=parseInt(filesize/this.intervale)+1;
setInterval(
function(){
if(FileList_Ul.childNodes.length>0){
var pargressUl=FileList_Ul.childNodes[FileList_Ul.childNodes.length-1].childNodes[1];
if((pargressUl!=null&&pargressUl.childNodes.length>0)&&loadindex<=loadcount){
pargressUl.childNodes[0].style.width=(pargressUl.clientWidth*loadindex/loadcount)+"px"; loadindex++;
}
}
},

500);

},

OnUpload:function(obj){//上传的方法

if(obj!=null){
var FileList_Ul=obj.parentNode.parentNode.parentNode.nextSibling.childNodes[0];
if(FileList_Ul!=null&&FileList_Ul.tagName=="UL"){
var file_obj=obj;
if(file_obj.value!=""&&file_obj.tagName=="INPUT"){
var htmlmsg="";
var filesizeHF=FileList_Ul.nextSibling.nextSibling.value;
if(filesizeHF==null||filesizeHF=="")
filesizeHF=10000000;
var fileExtbool=false;
var filefilterHF=FileList_Ul.nextSibling.nextSibling.nextSibling.value;
if(filefilterHF!="") {
var fileFileExt=GetFileExtName(file_obj.value);
var fileExts=filefilterHF.split(",");
if(fileExts!=null&&fileExts.length>0){
for(var i=0;i"+realname+"("+filesize+"bit)删除";
FileList_Ul.innerHTML+=htmlmsg;
}
else{
if(FileList_Ul!=null&&FileList_Ul.childNodes.length>0){
var linkbtn=FileList_Ul.childNodes[0].childNodes[FileList_Ul.childNodes[0].childNodes.length-1];
if(linkbtn!=null&&linkbtn.tagName=="A"){ uploadobj.DelFile(linkbtn);
}
}
htmlmsg=""+realname+"("+filesize+"bit)删除";
FileList_Ul.innerHTML=htmlmsg;
}

FileList_Ul.style.display="";

uploadobj.onPargress(FileList_Ul,filesize);
uploadobj.onSetJson(FileList_Ul);
}

},

error: function (data, status, e) { alert(e); } });

}

else{

alert("上传的文件的后缀名不正确");

}

}

else{

alert("请选择要上传文件","操作提示");

}

if(FileList_Ul.childNodes.length>0){ FileList_Ul.style.display=""; }
}
}

}

}

//截取文件的后缀名。

function GetFileExtName(filename){

var index1=filename.lastIndexOf(".");
var index2=filename.length;
var postf=filename.substring(index1,index2);
//后缀名
return postf;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐