<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
   <form name="upload" id="upload" method="post" action="?act=right" style="margin-top:10px;"  enctype="multipart/form-data">
          <table border="0" cellspacing="1" class="fu_list">
            <thead>
              <tr>
                <td><b>添加上传文件</b></td>
                <td id="example"><!--<a href="javascript:void(0);" class="files" id="idFile" onchange="addFile(\'"+this.value+"\');"></a>--><input type="file" onchange="addFile(this.value);" id="idfile"></td>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td colspan="2"><table border="0" cellspacing="0">
                    <thead>
                      <tr>
                        <td>序号</td>
                        <td>文件路径</td>
                        <td width="100"></td>
                      </tr>
                    </thead>
                    <tbody id="idFileList">
                    </tbody>
                  </table></td>
              </tr>
              <tr>
                <td colspan="2" style="color:gray">温馨提示:最多可同时上传共 <b>'.MaxUploadSize.'</b> 文件。 </td>
              </tr>
              <tr>
                <td colspan="2" align="center" id="idMsg"><input type="submit" value="开始上传" id="idBtnUpload" disabled="disabled" />
                  &nbsp;&nbsp;&nbsp;
                  <input type="button" value="全部取消" id="idBtnDel" disabled="disabled" /><input type="hidden" name="upfolder" value="'.$_dir.'">
                </td>
              </tr>
            </tbody>
          </table>
   </form>
   <script>
     var $ = function (id) {
          return "string" == typeof id ? document.getElementById(id) : id;
         };
   function addFile(_file){
           var inputs = $("idFileList").getElementsByTagName("input");
           if(inputs.length>1){
              for(var i=0;i<inputs.length;i++){
                if(_file == inputs[i].value){
                   alert("已经添加过此文件!");
                   return false;
                }
              }
           }
           var oldlen     = $("idFileList").rows.length;
           var _i         = oldlen + 1;
           var newtr      = $("idFileList").insertRow(oldlen);
           newtr.id       = "id_"+_i;
           var c0         = newtr.insertCell(0);
           c0.innerHTML   = _i;
           var c1         = newtr.insertCell(1);
           var _newfile   = $("idfile").cloneNode(true);
           _newfile.name  = "upfile[]";
           //_newfile.style = "display:none";
           c1.appendChild(_newfile);
           var c2    = newtr.insertCell(2);
           c2.innerHTML="<a href=\'javascript:delThisFile(\""+newtr.id+"\");\'>删除</a>";
           //alert(oldlen);
           $("idBtnUpload").disabled=false;
           $("idBtnDel").disabled=false;
         }
         
  function delThisFile(_file){
           var _fileList = $("idFileList");
           var _len = _fileList.rows.length;
           var _j   = 0;
           for(var i=0;i<_len;i++){
             if(_fileList.rows[i].id == _file){
               _fileList.deleteRow(i);
             }else{
               /*_j = _j + 1;
               var _newid = "id_"+_j;
               _fileList.rows[i].id = _newid;
               _fileList.rows[i].cells[0].innerHTML = _j;
               _fileList.rows[i].cells[2].innerHTML = "<a href=\'javascript:delThisFile(\""+_newid+"\");\'>删除</a>";*/
             }
           }
           var len = $("idFileList").rows.length;
           alert(len);
           for(var j=0;j<len;j++){
               _j = j + 1;
               var _newid = "id_"+_j;
               _fileList.rows[j].id = _newid;
               _fileList.rows[j].cells[0].innerHTML = _j;
               _fileList.rows[j].cells[2].innerHTML = "<a href=\'javascript:delThisFile(\""+_newid+"\");\'>删除</a>";
           }
         }
</script>已知问题:1。IE添加的时候什么都不显示,但FF正常。后台用IE也取不到值,FF正常。
          2。删除有问题,我实在不会写。
希望高手能帮忙解决上述两点问题。

解决方案 »

  1.   

    在ie6下测试正常,楼主你用的是什么版本?真的还是假的呀??怪了,为什么在我的xp sp2 ie6下无效,2003 ie8以及ietester下均无效,在FF下正常,opera下正常,chrome无效。都快郁闷死了。
      

  2.   

    IE6下测试有问题,换个思路<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
       <form name="upload" id="upload" method="post" action="?act=right" style="margin-top:10px;"  enctype="multipart/form-data">
              <table border="0" cellspacing="1" class="fu_list">
                <thead>
                  <tr>
                    <td><b>添加上传文件</b></td>
                    <td id="example"><!--<a href="javascript:void(0);" class="files" id="idFile" onchange="addFile(\'"+this.value+"\');"></a>--><input type="file" onchange="addFile(this.value);" id="idfile"></td>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td colspan="2"><table border="0" cellspacing="0">
                        <thead>
                          <tr>
                            <td>序号</td>
                            <td>文件路径</td>
                            <td width="100"></td>
                          </tr>
                        </thead>
                        <tbody id="idFileList">
                        </tbody>
                      </table></td>
                  </tr>
                  <tr>
                    <td colspan="2" style="color:gray">温馨提示:最多可同时上传共 <b>'.MaxUploadSize.'</b> 文件。 </td>
                  </tr>
                  <tr>
                    <td colspan="2" align="center" id="idMsg"><input type="submit" value="开始上传" id="idBtnUpload" disabled="disabled" />
                      &nbsp;&nbsp;&nbsp;
                      <input type="button" value="全部取消" id="idBtnDel" disabled="disabled" /><input type="hidden" name="upfolder" value="'.$_dir.'">
                    </td>
                  </tr>
                </tbody>
              </table>
       </form>
       <script>
         var $ = function (id) {
              return "string" == typeof id ? document.getElementById(id) : id;
             };
       function addFile(_file){
               var inputs = $("idFileList").getElementsByTagName("input");
               if(inputs.length>1){
                  for(var i=0;i<inputs.length;i++){
                    if(_file == inputs[i].value){
                       alert("已经添加过此文件!");
                       return false;
                    }
                  }
               }
               var oldlen     = $("idFileList").rows.length;
               var _i         = oldlen + 1;
               var newtr      = $("idFileList").insertRow(oldlen);
               newtr.id       = "id_"+_i;
               var c0         = newtr.insertCell(0);
               c0.innerHTML   = _i;
               var c1         = newtr.insertCell(1);
               var _newfile   = $("idfile").cloneNode(true);//克隆file
               
               $("idfile").name  = "upfile[]";           $("idfile").parentNode.appendChild(_newfile);//将新的file加到之前file的位置
               //_newfile.style = "display:none";
               c1.appendChild($("idfile"));//老的file加到下面           var c2    = newtr.insertCell(2);
               c2.innerHTML="<a href=\'javascript:delThisFile(\""+newtr.id+"\");\'>删除</a>";
               //alert(oldlen);
               $("idBtnUpload").disabled=false;
               $("idBtnDel").disabled=false;
             }
             
      function delThisFile(_file){
               var _fileList = $("idFileList");
               var _len = _fileList.rows.length;
               var _j   = 0;
               for(var i=0;i<_len;i++){
                 if(_fileList.rows[i].id == _file){
                   _fileList.deleteRow(i);
                   break;
                 }else{
                   /*_j = _j + 1;
                   var _newid = "id_"+_j;
                   _fileList.rows[i].id = _newid;
                   _fileList.rows[i].cells[0].innerHTML = _j;
                   _fileList.rows[i].cells[2].innerHTML = "<a href=\'javascript:delThisFile(\""+_newid+"\");\'>删除</a>";*/
                 }
               }
               var len = $("idFileList").rows.length;
               alert(len);
               for(var j=0;j<len;j++){
                   _j = j + 1;
                   var _newid = "id_"+_j;
                   _fileList.rows[j].id = _newid;
                   _fileList.rows[j].cells[0].innerHTML = _j;
                   _fileList.rows[j].cells[2].innerHTML = "<a href=\'javascript:delThisFile(\""+_newid+"\");\'>删除</a>";
               }
             }
    </script>
      

  3.   

    @@lihui_shine谢谢了!
    现在在IE6,FF3.6,opera10.10下正常