类似QQ邮箱的js附件上传源代码.doc_第1页
类似QQ邮箱的js附件上传源代码.doc_第2页
类似QQ邮箱的js附件上传源代码.doc_第3页
类似QQ邮箱的js附件上传源代码.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

贴出全部HTMLJS代码,在这里做个备份,当前版本暂定为1.0吧,以后还会改进。比如选择附件后,显示附件的大小。如果有bug或可以改进的地方,希望不吝赐教! /*/* 需要注意的几个地方: .由于inputtype=file控件不能对type属性赋值(inIE),所以采用插入HTML代码的方式(insertAdjacentHTML); .inputtype=file控件的value是只读的,不能被赋值; .因为用一个inputtype=file控件有缺陷,就是当用户删除了最后一次添加的文件再添加同样的文件则无法触发onchange事件; 并且要上传文件,只用一个上传控件是不够的; .客户端无法获取文件大小,除非用FSO或ActiveX等。除了img控件,其fileSize可以在图片文件加载完成后获取其文件大小; .还有另外一种变通的方法就是用flash与js交互达到获取客户端文件大小的效果(现在flash在安全方面也做了限制); */ vari=0;/用来动态生成span,upfile的id functionaddAttachmentToList() . if(findAttachment(event.srcElement.value)return;/如果此文档已在附件列表中则不再添加 /动态创建附件信息栏并添加到附件列表中 varspan=document.createElement(span); span.id=_attachment+i; span.innerHTML=extractFileName(event.srcElement.value)+ 删除; span.title=event.srcElement.value; G(attachmentList).appendChild(span); /显示附件列表并变换添加附件按钮文本 if(G(attachmentList).style.display=none) . G(btnAdd).value=继续添加; G(attachmentList).style.display=; G(btnClear).style.display=; G(total).innerText=当前选择上传+G(attachmentList).childNodes.length+个附件; functionselectAttachment() . /先清除无效动态生成的多余upfile cleanInvalidUpfile(); /动态创建上传控件并与span对应 varupfile=; document.body.insertAdjacentHTML(beforeEnd,upfile); G(_upfile+i).click(); functionextractFileName(fn) . returnfn.substr(fn.lastIndexOf()+1); functionfindAttachment(fn) . varo=G(attachmentList).getElementsByTagName(span); for(vari=0;i=0;i-) if(oi.type=file&oi.id.indexOf(_upfile)=0) . if(!G(_attachment+oi.id.substr(7) document.body.removeChild(oi); functionclearAttachment() . varo=G(attachmentList).childNodes; for(vari=o.length-1;i=0;i-) G(attachmentList).removeChild(oi); o=document.body.getElementsByTagName(input); for(vari=o.length-1;i=0;i-) if(oi.type=file&oi.id.indexOf(_upfile)=0) . document.body.removeChild(oi); G(btnAdd).value=添加附件; G(attachmentList).style.display=none; G(btnClear).style.display=none; G(total).innerText=当前选择上传0个附件; functiongetAttachmentInfo() . /已知的js获取本地文件大小的三种方式 /1.通过FSO2.通过ActiveX3.通过Flash(设置可能更麻烦)与js交互 /注:QQ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论