关于Html动态添加上传文件控件inputFile(附件)及清除已选择的文件的几个方法

一、动态添加上传文件控件

  1.   案例一:

  1. <HTML>
  2.     <HEAD>
  3.         <TITLE>上传文件</TITLE>
  4.         <SCRIPT language=javascript type=text/javascript>
  5.         <!--
  6.             var RES_BT_DELETE = "删除";
  7.             var isIE = (navigator.userAgent.indexOf("MSIE") != -1);
  8.             var fileIndex = 0;
  9.             
  10.             function addFile() 
  11.             {
  12.                 var spanId = "filespan";
  13.                 var fileId = "uploadfile" + (fileIndex++);
  14.                 addInputFile(spanId, fileId);
  15.             }
  16.             
  17.             function addInputFile(spanId, fileId) 
  18.             {
  19.                 var span = document.getElementById(spanId);
  20.                 if (span != null) 
  21.                 {
  22.                     var divObj = document.createElement("div"), fileObj, delObj;
  23.                     divObj.id = fileId;
  24.                     
  25.                     if (isIE) 
  26.                     {
  27.                         fileObj = document.createElement("<input type=file onchange=changeFile(form)>");
  28.                         delObj = document.createElement("<input type=button onclick=delInputFile('" + spanId + "','" + fileId + "')>");
  29.                     } 
  30.                     else 
  31.                     {
  32.                         fileObj = document.createElement("input");
  33.                         fileObj.type = "file";
  34.                         fileObj.setAttribute("onchange", "changeFile(form)", 0);
  35.                         delObj = document.createElement("input");
  36.                         delObj.type = "button";
  37.                         delObj.setAttribute("onclick", "delInputFile('" + spanId + "','" + fileId + "')", 0);
  38.                     }
  39.             
  40.                     fileObj.name = fileId;
  41.                     fileObj.size = "40";
  42.                     fileObj.className = "input";
  43.                     delObj.value = RES_BT_DELETE;
  44.                     divObj.appendChild(fileObj);
  45.                     divObj.appendChild(document.createTextNode(" "));
  46.                     divObj.appendChild(delObj);
  47.                     span.appendChild(divObj);
  48.                 }
  49.             }
  50.             
  51.             function delInputFile(spanId, fileId) 
  52.             {
  53.                 var span = document.getElementById(spanId);
  54.                 var divObj = document.getElementById(fileId);
  55.                 if (span != null && divObj != null) 
  56.                 {
  57.                     span.removeChild(divObj);
  58.                 }
  59.             }
  60.         //-->
  61.         </SCRIPT>
  62.         <META content="MSHTML 6.00.2800.1528" name=GENERATOR>
  63.     </HEAD>
  64.     
  65.     <BODY class=pagebackground>
  66.         <FORM id=form action=XXX method=post encType=multipart/form-data>
  67.             <TABLE class=dialog1 height=20 cellSpacing=1 cellPadding=8 width="90%" align=center>
  68.                 <TBODY>
  69.                 <TR>
  70.                     <TD noWrap>通过文件上传: </TD>
  71.                     <TD id=filespan noWrap>
  72.                         <INPUT class=input type=file size=40 name=file>
  73.                         <INPUT id=btnAdd onclick=addFile() type=button value=添加>
  74.                     </TD>
  75.                 </TR>
  76.                 </TBODY>
  77.             </TABLE>
  78.         </FORM>
  79.     </BODY>
  80. </HTML>

  2. 案例二:

  1. <html>
  2.     <head>
  3.         <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  4.         <title>新建网页 1</title>
  5.     </head>
  6.     <body>
  7.         <script language=JavaScript>
  8.             function fAddAttach()
  9.             {
  10.                var gAttchHTML='<div class="qrle text2">附件:</div><div class="le"><input type="file" name="attachfile[]"  class="bot3" ></div><div class="le"><input type="button" name="Submit" value=" 删除 " class="bot2" id="btnDeleteReadAttach"  /></div><span></span>';
  11.                var Attach=document.getElementById("dvReadAttach");
  12.                var spnList=Attach.getElementsByTagName("SPAN");
  13.                var spn=document.createElement("DIV");
  14.                spn.className="qrc4";
  15.                spn.innerHTML=gAttchHTML;
  16.                spn.childNodes[1].childNodes[0].name="attachfile[]" + spnList.length;
  17.                Attach.appendChild(spn);
  18.                fGetObjInputById(spn,"btnDeleteReadAttach").onclick=function(){fDeleteAttach(this);};
  19.                document.getElementById("aAddAttach").innerHTML="继续添加附件";
  20.                Attach.style.display="";
  21.                if(spnList.length>1)
  22.                {
  23.                  spn.childNodes[0].innerHTML="   ";
  24.                }
  25.             }
  26.             function fGetObjInputById(obj,id)
  27.             {
  28.                var inputList=obj.getElementsByTagName("INPUT");
  29.                for(var i=0;i<inputList.length;i++)
  30.                {
  31.                  if(inputList[i].id==id)
  32.                  {
  33.                     return inputList[i];
  34.                  }
  35.                }
  36.                return null;
  37.             }
  38.             
  39.             function fDeleteAttach(obj)
  40.             {
  41.                 try
  42.                 {
  43.                     obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
  44.                     var Attach=$("dvReadAttach");                       
  45.                     var spnList=Attach.getElementsByTagName("SPAN");
  46.                     if(spnList.length==0)
  47.                     {
  48.                          document.getElementById("aAddAttach").innerHTML="添加附件";
  49.                          Attach.style.display="none";
  50.                     }
  51.                     else
  52.                     {
  53.                         document.getElementById("aAddAttach").innerHTML="继续添加附件";
  54.                     }
  55.                 }
  56.                 catch(exp)
  57.                 {
  58.                     //fDebug("fDeleteAttach",exp.description);
  59.                 }
  60.             }
  61.         </script>
  62.         <BODY BGCOLOR=WHITE> 
  63.             <a href="javascript:fAddAttach();" id="aAddAttach">添加附件</a>
  64.             <div id="dvReadAttach" style="display:none">
  65.         </BODY>
  66.     </body>
  67. </html>

二、清空inputFile的内容

  1. 方法一:

  1. <FORM name=form1>   
  2.   <input type="file" name=f>   
  3.   <input type=button value=reset onclick="f.select();document.execCommand('delete')">   
  4. </FORM>   

  2. 方法二:

  1. <FORM name=form1>   
  2.   <input type="file" name=f>
  3.   <input type=button value=reset onclick="form1.f.outerHTML='<input type=/'file/' name=/'f/'>'"> 
  4. </FORM>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值