类似163邮件附件选择文件上传

这是我在网上看到的,不过我做了一点改动,希望对大家有用:

<%@ page language="java" pageEncoding="gbk"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <style>    
a.addfile {    
background-image:url(/test/f1.gif);    
background-repeat:no-repeat;    
background-position:-823px -17px;    
display:block;    
float:left;    
height:20px;    
margin-top:-1px;   
position:relative;   
text-decoration:none;    
top:0pt;    
width:80px;    
}    
input.addfile {  
/*left:-18px;*/   
}    
input.addfile {    
cursor:pointer !important;    
height:18px;    
left:-13px;    
filter:alpha(opacity=0);    
position:absolute;    
top:5px;    
width:1px;    
z-index: -1;    
}    
</style>  
 
<script type="text/javascript"> 
function MultiSelector(list_target, max)  
  {    
    // Where to write the list   
    this.list_target = list_target;  
    // How many elements?    
    this.count = 0;   
    // How many elements?    
    this.id = 0;    
    // Is there a maximum?  
    if (max)  
    {  
        this.max = max; 
    }   
    else  
    {    
        this.max = -1;    
    };  
   
      /** 
      * Add a new file input element 
      */ 
      this.addElement = function(element)  
      {  
         // Make sure it's a file input element  
          if (element.tagName == 'INPUT' && element.type == 'file')  
          {  
              // Element name -- what number am I?  
              element.name = 'file_' + this.id++;  
              // Add reference to this object  
              element.multi_selector = this;  
              // What to do when a file is selected  
              element.onchange = function()  
              {  
                  // New file input  
                  var new_element = document.createElement('input');  
                  new_element.type = 'file';  
                  new_element.size = 1;  
                  new_element.className = "addfile";  
                  // Add new element  
                  this.parentNode.insertBefore(new_element, this);  
                  // Apply 'update' to element  
                  this.multi_selector.addElement(new_element);  
                  // Update list   
                this.multi_selector.addListRow(this);  
                  // Hide this: we can't use display:none because Safari doesn't like it   
                this.style.position = 'absolute';    
                this.style.left = '-1000px';   
            };  
   
            // If we've reached maximum number, disable input element  
              if (this.max != -1 && this.count >= this.max)  
              {    
                element.disabled = true; 
            };  
              // File element counter    
            this.count++;    
            // Most recent element    
            this.current_element = element;    
        }    
        else    
        {    
            // This can only be applied to file input elements!    
            alert('Error: not a file input element');    
        };    
    };  
 
    /**  
     * Add a new row to the list of files  
     */   
    this.addListRow = function(element)    
    {    
        // Row div  
        var new_row = document.createElement('');  
          // Delete button   
        var new_row_button = document.createElement('a');  
        new_row_button.style.textDecoration = 'none';
        new_row_button.href = '#';         
        new_row_button.innerHTML = 'X&nbsp;&nbsp;';  
          // References    
        new_row.element = element;  
        // Delete function   
        new_row_button.onclick = function()  
        {    
            // Remove element from form  
            this.parentNode.element.parentNode.removeChild(this.parentNode.element);  
              // Remove this row from the list    
            this.parentNode.parentNode.removeChild(this.parentNode);  
             // Decrement counter    
            this.parentNode.element.multi_selector.count--;  
              // Re-enable input element (if it's disabled)    
            this.parentNode.element.multi_selector.current_element.disabled = false;  
              // Appease Safari    
            // without it Safari wants to reload the browser window 
            // which nixes your already queued uploads   
            return false;   
        };    
        // Set row value  
       
        var fname = element.value;
        fname = fname.substring(fname.lastIndexOf("//") + 1,fname.length); 
        new_row.innerHTML = fname + " ";  
        // Add button   
        new_row.appendChild(new_row_button);    
        // Add it to the list    
        this.list_target.appendChild(new_row);    
    };    
};   
</script> 
  </head>
 
  <body>
   <table>
   <tr>
        <td align="right">上传附件:</td>
        <td><a href="javascript:void(1==1);" class="addfile" style="cursor: default;" hidefocus="true">    
  <input id="my_file_element" class="addfile" type="file" name="file_1" size="1" title="点击选择附件">    
  </a>                  
        </td>
      </tr>
       <tr>
        <td align="right">已选文件:</td>   
  <td><div id="files_list" style="width:100%;"></div>  </td>  
  <script>       
  var multi_selector = new MultiSelector(document.getElementById('files_list'), 100);      
  multi_selector.addElement(document.getElementById('my_file_element'));   
  </script>
      </tr>
   </table>
  </body>
</html>

 

f1图片地址:https://p-blog.csdn.net/images/p_blog_csdn_net/sudang/EntryImages/20090814/f1.gif

复制过去就可以运行了,当然要先下好图片,并且路径设置正确就可以用了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值