首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

多附件上传的有关问题,仿163,强人看下

2012-01-03 
多附件上传的问题,仿163,强人看下scriptlanguage javascript //动态文件记数器varnum0//div内容var

多附件上传的问题,仿163,强人看下

<script       language= "javascript ">      
        //动态文件记数器
var   num=0;
//div内容
var   divstr= " ";
//添加的文件名数组
var   filename=new   Array();
function       File1_onchange()       {      
//判断添加文件是否重复
var   pathfile   =   document.PostForm.File1.value;
//alert( "infilepathandname   =   "+pathfile);
var   name   =   pathfile.substring(pathfile.lastIndexOf( '\\ ')+1);
//alert( "infilename   =   "+name);

if(checkAgainFile(name)){
alert( "该文件已经添加! ");
return   false;
}

if(checkFileNum(name)){
alert( "最大文件不能超过5 ");
return   false;
}

//先+file控件
addFile();
//把File1取得的值赋给新添加的file控件上
document.getElementsByName( 'uploadFiles '+num).value=document.PostForm.File1.value   ;      
alert(document.getElementsByName( 'uploadFiles '+num).value);
//表层的表示
adddiv();

//for(var   i=0;i <num;i++){
//var   t=i+1;
//alert(document.getElementsByName( 'uploadFiles '+t).value);
//}

/*
for(var   i=0;i <num;i++){
var   t=i+1;
alert(document.getElementsByName( 'uploadFiles '+t).value);
}

for(var   i=0;i <filename.length;i++){
alert( "filenames= "+filename[i]);
}
*/
//document.PostForm.File1.select();
//document.execCommand( 'delete ');  
}      

//添加层内容
function   adddiv(){
var   obj=document.getElementById( "showFile ");
var   fileStr   =document.getElementsByName( 'uploadFiles '+num).value;
var   fileName   =   fileStr.substring(fileStr.lastIndexOf( '\\ ')+1);
//增加数组内容
filename[filename.length]=fileName;
var   addStr= " <a   href= 'javascript:DelFile( "+num+ ") '> <img   src= 'image/attach.gif '   alt= '删除 '   /> </a> "+ "; ";
divstr=divstr+fileName+addStr   ;  
obj.innerHTML=divstr;
}
//减少层内容
function   deldiv(delno){
//var   str   =   "This   is   a   string ";
//alert(str.substring(1,   3));   //结果为hi  
//alert(str.substring(3,   1));   //结果为hi  
//alert(str.substring(0,   4));   //结果为This  
//alert(str.substring(8));   //结果为a   string

var   newDivStr   = " ";
var   a=new   Array();

divstr=divstr.substring(0,divstr.lastIndexOf( '; '));

a=divstr.split( "; ");

var   del=(new   Number(delno));
for(var   i=0;i <a.length;i++){
if(i!=del)
newDivStr=newDivStr+a[i]+ "; ";

}
divstr=newDivStr;
}
 
//增加file控件
function   addFile(){
var   tableobj=document.getElementById( 'table1 ');
var   Row1=tableobj.insertRow(tableobj.rows.length);
//rows就是行数的集合,tableobj.rows.length是获得表格的行数
var   Rows=tableobj.rows;
//cells是表元,就是 <td> </td>
var   Cells=Row1.cells;
var   Cell1=Rows(Row1.rowIndex).insertCell();
Cell1.align= "left ";  
Cell1.innerHTML= " <input       type= 'file '   class   = 'addfile '     name= 'uploadFiles[ "+num+ "] '   id= 'uploadFile "+num+ " '> ";


num++;
     
}

//减去file控件
function   DelFile(delnum   ){
alert( "delfile ");
var   tableobj=document.getElementById( 'table1 ');
var   delnum=(new   Number(delnum))-1;

var   obj=document.getElementById( "showFile ");
//   删除行
tableobj.deleteRow(delnum);
var   j=(new   Number(delnum))+1;
for(;j   <   num;j++)   {
        //   获得浏览按钮的id的值
var   fileobj=document.all( "uploadFile "+j);
var   str   =   "uploadFiles[ "+(j-1)+ "].file ";
var   strid= "uploadFile "+(j-1);
//   删除后把下一个浏览按钮的id和名字的下标减1
fileobj.setAttribute( "name ",str);
fileobj.setAttribute( "id ",strid);

}
num--;
//删除数组文件名
filename.splice(   delnum,   1   );

for(var   i=0;i <filename.length;i++){
alert( "filenames= "+filename[i]);
}


deldiv(delnum);
obj.innerHTML=divstr;
}

function   checkAgainFile(infilename   ){
var   flag   =false;
for(var   i=0;i <filename.length;i++){
if(filename[i]==infilename)flag   =   true;
}
return   flag;
}

function   checkFileNum(   ){
var   flag   =false;
if(filename.length> =4){
flag   =   true;
}

return   flag;
}
    </script>


<table   id= "table1 "   border= "1 "   >
<div   id   =   "showFile "   style= "padding:5px;border:1px;border-style:solid;border-color:#0000ff;height:10px;width:600px; ">

</div>

<a   href=#?   class= "addfile ">
<INPUT       id= "File1 "       type= "file "       class= "addfile "   name= "File1 "     size= "1 "   language= "javascript "       onchange= "return       File1_onchange() ">      
</a>

</td>
</table>

问题是动态生成的文件,上传后只能取到最后一个值,使用SmartUpload
强人帮忙分析下啊

[解决办法]
如上一个循环
就把所有的文件都取出来了

热点排行