仿网易多附件上传功能

来源:互联网 发布:mysql text 默认值 编辑:程序博客网 时间:2024/04/28 19:53

由于无法找到该文章的原创作者,在此无法注明出处,请作者见谅.如有问题或侵害到您的利益,请与我联系.限IE浏览器

<html><head><title>Add Files</title><style>a.addfile {background-image:url(http://p.mail.163.com/js31style/lib/0703131650/163blue/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('div');        // Delete button        var new_row_button = document.createElement('input');        new_row_button.type = 'button';        new_row_button.value = 'Delete';        // 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        new_row.innerHTML = element.value + " ";        // Add button        new_row.appendChild(new_row_button);        // Add it to the list        this.list_target.appendChild(new_row);    };};</script></head><body><!-- This is the form --><form enctype="multipart/form-data" action="http://127.0.0.1:8080/xxx/fileUploadAction.action" method="post"><!-- The file element -- NOTE: it has an ID --><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><input type="submit" value="上 传"></form>Files:<!-- This is where the output will appear --><div id="files_list" style="padding:5px;border:1px;border-style:solid;border-color:#0000ff;height:100px;width:600px;"></div><script><!-- Create an instance of the multiSelector class, pass it the output target and the max number of files -->var multi_selector = new MultiSelector(document.getElementById('files_list'), 100);<!-- Pass in the file element -->multi_selector.addElement(document.getElementById('my_file_element'));</script></body></html>
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 钉钉不够6人创建怎么办 钉钉 不够6个人怎么办 plsql删错了表怎么办 吊兰长出来的茎怎么办 防水台鞋跟太高怎么办 证件照头部比例过大怎么办 特岗照片传错了怎么办 打印报名表照片不显示怎么办 刚买的床有味道怎么办 雨刷器角度太小怎么办 四个月宝宝闹觉怎么办 怀孕六个月睡不好觉怎么办? 婴儿睡不好觉总是吵闹怎么办 婴儿鼻塞睡不好觉怎么办 玩英雄联盟鼠标变亮白怎么办 练芭蕾脚受伤了怎么办 高三了英语30分怎么办 要上高中了英语不好怎么办 高二了数学不好怎么办 高二函数不好怎么办啊 输乳怎么办腺病有什么妇症状 屁股上坐的发黑怎么办 车屁股撞了个洞怎么办 腰压迫的腿疼怎么办 肩胛提肌固定不住怎么办 胳膊粗后背肉多怎么办 2岁儿童 肋骨边缘外翻怎么办 5岁宝宝盆骨前倾怎么办 脖子弯了像驼背怎么办 都40周了还没生怎么办 股骨头坏死骨盆歪了怎么办 二胎侧切伤口疼怎么办 小月子盆骨酸痛怎么办 盆骨一边大一边小怎么办 快生了宫颈管长怎么办 想顺产 宫颈管长怎么办 腰和跨一样宽怎么办 脚后跟骨折手术后小腿变细怎么办 生完孩子骨盆错位怎么办 皮肤又黑又粗糙怎么办 翠研珠宝被坑了怎么办