Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > javascript 和 上传文件的问题
【标  题】:javascript 和 上传文件的问题
【关键字】:javascript
【来  源】:http://blog.csdn.net/wangdetian168/archive/2007/04/14/1564701.aspx

javascript 和 上传文件的问题

Your Ad Here

<html>

<head>
<script language="javascript" >
    var isOnly = "true";     //操作单个还是多个(多个则为数组)
   var n=0;                 //初始化数组为0,之后随着化来变化,因为第一次不为数组,当第二次加一个File 时才变成数组,所以从1开始
   var fileCount=1;         //总共输入了多少个有值的控件File  (暂时还没有用上)
  
   var tempRow=0;           //动态表格的临时行
    var maxRows=0;           //动态表格的临时列
   var num = 1;             //file 控件数组下标,从1开始,默认显示一个所以那个是 0
    var fileCount=1;         //整个操作中,总共用了多少个 File 控件
   

function operFileDiag()
{
var obj = new ActiveXObject("HMExtras.FileDlg");
obj.DisplayFileDlg();
}

    function addFile()
    {
    
 var str = '<input type="file" size="50" name="uploadFile[';//待插入的文件控件
 //var fstr = '<input type="file"  value="" onchange="txt.value=this.value" style="position:absolute;filter:alpha(opacity=0);" size="1" hidefocus name="uploadFile[';

 //var buttonValue =' <input type="button"  name="btnAddFile" value="添加 ……" size="30" id="button' + num + '" onmousemove="f' + num + '.style.pixelLeft=event.x-60;f' + num + '.style.pixelTop=this.offsetTop;"  onclick="f' + num + '.click();addFile()"> '

 var fileText;//得到文件控件的值
 var ary;//分割文件,以'\'号
 var fileTextValue;//取出最后的文件名 
       //alert("n = " + n + "   num  = " + num + "  fileName = " + "uploadFile[" + n + "].file");
 //alert(KmZszbfjForm.innerHTML);
     fileText = document.all("uploadFile[" + n + "].file").value;
 ary = fileText.split("\\");                 
   fileTextValue = ary[ary.length-1];            
 if(fileText == "")
       {
      alert("请选择你所要上传的文件!");
      return false;
       }
 document.all("uploadFile[" + n + "].file").style.display = "none";
 


      
       //在前面一个 File 控件隐藏后,接着再在原来的位置上插入一个,则 File 变成数组了
str = str + num + '].file" ' + '/>';
//fstr = fstr + num + '].file" ' + 'id="f' + num + '"/>';
//alert("str = = " + str);
       document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str);
//document.getElementById('btnFile').insertAdjacentHTML("beforeEnd",buttonValue);
//document.getElementById("btnFile").removeChild(document.getElementById("button" + (num - 1)));

      
       tempRow=fileTable.rows.length-1;    //fileTable   就是那个动态的   table 的 ID 了
    maxRows=tempRow;
    tempRow=tempRow+1;
    var Rows=fileTable.rows;            //Rows 数组
    var newRow=fileTable.insertRow(fileTable.rows.length);    //插入新的一行
    var Cells=newRow.cells;                                   //Cells 数组
    for (i=0;i<3;i++)                                         //每行的2列数据,一列用来显示文件名,一列显示"删除"操作
    {
      var newCell=Rows(newRow.rowIndex).insertCell(Cells.length);
      newCell.align="center";
      switch (i)
      {
        case 0 : newCell.innerHTML="<td width='40%' align='left'><span id='"+n+"'></span></td>";break;
        case 1 : newCell.innerHTML="<td width='20%' align='left'><a href='javascript:delTableFileRow(\"" +tempRow+ "\",\"" + n + "\")'>删除</a></TD>"; break;
case 2 : newCell.innerHTML="<td width='40%' align='left'>&nbsp;</TD>"; break;
      }
    }
    maxRows+=1;
    //alert("fileTextValue = " + fileTextValue);
    document.getElementById(n).insertAdjacentText("beforeBegin",fileTextValue);
n++;
num++;
fileCount++;
alert(MyFile.innerHTML);
    }

  function delTableFileRow(rowNum,fileCount){
  //if(fileTable.rows.length == 1)
  //fileTable.deleteRow(0); 
    if (fileTable.rows.length >rowNum){
      fileTable.deleteRow(rowNum);
    }else
    fileTable.deleteRow(fileTable.rows.length-1);
    document.all("MyFile").removeChild(document.all("uploadFile[" + fileCount + "].file")); //从元素P上删除子结点File控件。(跟删除表格行同步)
    fileCount--;
    //if(n>0)n--; //else isOnly = "true";
  }
</script>

</head>

<body>

<form id="kkk" action="/KmZszbfj.do" enctype="multipart/form-data"method="POST">
<table width="830" height="385" border="0" align="center"
cellpadding="0" cellspacing="0" id='tableA'>
  <tr>
<td height="27" align="center" bgcolor="#E2F0FE" class="time">附件</td>
<td height="79" align="center" colSpan="3" bgcolor="#E2F0FE" class="time">

<div align="left">
        <P id="MyFile">
<input type="file" size="50" name="uploadFile[0].file" value=""/>

</P>
        <P id="btnFile">

<input type="button" name="btnAddFile" value="Add File" onclick="addFile()"/>
</P>

<table width="100%" height="100%" border="0">
<tr><td width="40%" align="left"></td><td width="60%"></td></tr>
<tr>
<td colspan="2">
<table width="100%" border="0" id="fileTable" align="left"></table>
</td> 
</table>
</div>
</td>

</tr>
</table>
</body></html> 

The USB Webcam driver in Windows CE:【上一篇】
Vista中Windows Service需要桌面交互时:【下一篇】
【相关文章】
  • 转贴:JavaScript 对象与数组参考大全
  • [原创]JavaScript版仿Windows扫雷(源码2)
  • Web 2.0应用存在缺陷 Javascript导致泄密
  • 使用Javascript制作连续滚动字幕
  • 利用JavaScript实现无刷新验证功能
  • javascript--一种奇怪的语言
  • 日期控件,javascript
  • 读GI源码、学JS编程——JavaScript中的事件实现(完整版)。
  • Yycom项目经验总结(ASP与JAVASCRIPT)
  • IE和Firefox在JavaScript方面的兼容性(汇编)
  • 【随机文章】
  • FC5中将安装光盘设置为yum的仓库
  • 如何在linux下启动mysql数据库?
  • Delphi 文本编辑器的设计(三)
  • C#2.0-可空类型
  • Lucene in Action (中文)
  • Microsoft SQL Server 2000 Service Pack 4
  • DB2一些命令总结
  • 七夕情怀
  • CAM 350筛选编辑器
  • QQ相册全攻略
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.