用户操作
[即时聊天] [发私信] [加为好友]
黑马王子ID:fzw98
36000次访问,排名3415(-1),好友2人,关注者25人。
java
fzw98的文章
原创 308 篇
翻译 0 篇
转载 24 篇
评论 22 篇
黑马王子的公告
阿里通网络电话,中国最优秀的网络电话 要向天下名师学习,这里应有尽有。 要向天下名师学习,这里应有尽有。
最近评论
catheriner66:推荐一下:开源人网站www.vifir.com 上面有比较全面系统的EXTJS学习资料
catheriner66:推荐一下:开源人网站www.vifir.com 上面有比较全面系统的EXTJS学习资料
合肥菲利浦斯电子科技:合肥菲利浦斯电子科技

菲利浦斯电子科技(合肥)有限公司,是美国菲利浦斯国际产业集团(Philipus Industry Group Ltd.CO.USA)在中国的市场运营和品牌管理机构,负责全面拓展“菲利浦斯”在中国市场的营销网络,造福中国民众。

针对中国目前严峻的室内空气污染形势,“菲利浦斯”把眼光投向中国市场。美国菲利浦斯国际产业……
合肥菲利浦斯电子科技:合肥菲利浦斯电子科技

菲利浦斯电子科技(合肥)有限公司,是美国菲利浦斯国际产业集团(Philipus Industry Group Ltd.CO.USA)在中国的市场运营和品牌管理机构,负责全面拓展“菲利浦斯”在中国市场的营销网络,造福中国民众。

针对中国目前严峻的室内空气污染形势,“菲利浦斯”把眼光投向中国市场。美国菲利浦斯国际产业……
zhangwenbo:学习了……
文章分类
收藏
    相册
    真我的风采
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 无刷新上传文件以及类Gmail附件添加方式的实现收藏

    新一篇: java调用javascript . | 旧一篇: ajax jsp 无刷新上传文件

       方案选择:
      查阅了一些资料,目前实现实现无刷新上传主要有两种方案,即利用隐藏的iframe来模拟无刷新上传和利用xmlhttp分块上传文件。
      这两种方案中,利用隐藏的iframe来模拟无刷新上传用的最为普遍,实现起来也比较容易。而利用xmlhttp分块上传的方式,google
      的结果显示用的较少,特别是实用方面,而且代码实现复杂。考虑到要同时实现类似Gmail的附件添加方式,最终选择了利用隐藏的
      iframe来模拟无刷新上传的方案。
      利用隐藏的iframe来模拟无刷新上传的原理
      利用隐藏的iframe来模拟无刷新上传的原理比较简单,在页面中包含一个form和一个iframe,其中ifram设置为不可见,同时将form
      的target属性设为iframe的名字,这样当上传的时候,刷新的就是iframe中的页面,而主页面则不会有任何变化。可以在iframe中的
      页面中编写上传后客户端要执行的javascript代码,这样可以轻松的实现对主页面的操作。
      类Gmail附件添加方式的实现
      Gmail的附件添加方式有着比较好的用户体验,原本希望可以通过阅读Gmail的代码来了解Gmail的解决方案,但是发现这个想法有些
      不靠谱。所以最终采用自己的方式来解决这个问题并实现了良好的浏览器兼容(IE和Firefox),对于Firefox,是通过利用javascript对DOM的操作,来动
      态的创建和删除文件选择框.对于IE,则是结合Javascript,DOM,CSS来实现所要求的效果。在两种浏览器下,均可以进一步扩展,来实现选择后即自动
      上传的效果。
      DEMO的代码
      [code] < HTML> < HEAD> < TITLE> New Document < META NAME="Generator" CONTENT="EditPlus"> < META NAME="Author" CONTENT=""> < META NAME="Keywords" CONTENT=""> < META NAME="Description" CONTENT=""> < script type="text/javascript"> /************************ * author lijun * date 2007.5.25 * * 无刷新上传 * IE,Firefox下和Gmail类似的附件添加方式 * 允许进一步扩展,实现附件添加后即自动上传得功能。 * 2007.5.30修正了一个bug. ************************/ /* 检测浏览器类型 */ function isIE() { if(document.attachEvent) { return true; } else { return false; } } /*firefox下的附件添加提示*/ function getFirefoxTip(form) { var str="添加一个附件"; var cssStr="width:100px;font:12px Arial;color:#00f;text-decoration:underline"; var tipDiv=document.createElement("div"); tipDiv.style.cssText=cssStr; tipDiv.innerHTML=str; tipDiv.onclick=function() { var i=form.getAttribute("count")?form.getAttribute("count"):0; createFirefoxInput(form,parseInt(i)+1); }; return tipDiv; } /*删除已经添加的附件项*/ function removeChild(parent,child,tip) { var i=parent.getAttribute("count"); if(isIE()) { var id=parseInt(child.getAttribute("id")); parent.removeChild(child); parent.removeChild(tip); i--; /* var tipAry=new Array(); var inputAry=new Array(); for(j=0;j[ BODY>< < iframe> >< iframe form> method="post" enctype="multipart/form-data" action="/upload.do" form="document.forms['uploadForm'];" > BODY HEAD> script> < } initFirefox(); { else initIE(); if(isIE()) init() function *初始化* rePlaceInput(form); window.onresize="function(){" createIeInput(form); var initIE() *初始化IE* tipAry; return inputAry[j].style.left='position.left+"px";' inputAry[j].style.top='position.top+"px";' position="getPosition(tipAry[j]);" for(j="0;j  总结
      目前这个DEMO的客户端效果不错,但是还需要实践的检验。有任何问题欢迎交流。[code][/code][code]
      声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
      lkfnn
      等级:
      
      性别:
      
      
      文章: 129
      积分: 123
      来自: 西安
      时间:2007-05-27
      代码不能运行,麻烦测一下先.
      00请登录后投票
      marcian
      等级: 初级会员
      
      性别:
      
      
      文章: 6
      积分: 1
      来自: 北京
      时间:2007-05-31
      lkfnn 写道
      代码不能运行,麻烦测一下先.
      可否说明你不能运行的具体现象?
      00请登录后投票
      nbzx
      等级: 初级会员
      
      性别:
      
      
      文章: 3
      积分: 2
      来自: 输入其他...
      时间:2007-06-01
      这个代码的确不错,不过有两个BUG。
      第2行少了个“<”,应该是  第158行,将objobj改为obj。
      00请登录后投票
      marcian
      等级: 初级会员
      
      性别:
      
      
      文章: 6
      积分: 1
      来自: 北京
      时间:2007-06-01
      nbzx 写道
      这个代码的确不错,不过有两个BUG。
      第2行少了个“<”,应该是  第158行,将objobj改为obj。
      这编辑器不好,代码是完整的,但是提交就会有问题。我不知道怎么回事儿。
      00请登录后投票
      aiut
      等级: 初级会员
      
      性别:
      
      
      文章: 32
      积分: 6
      来自: 重庆
      时间:2007-06-04
      昨天刚做了个无刷新上传同时无刷新提交表单.
      00请登录后投票
      jie_java
      等级:
      
      文章: 25
      积分: 149
      
      时间:2007-10-31
      若把上传附件的这个模块放到页面中的某一个具体位置,该怎么操作呢,比如放到一个table里面来,能否把操作的代码发一下。谢谢。
      00请登录后投票
      afcn0
      等级:
      
      性别:
      
      
      文章: 471
      积分: 190
      来自: 天津
      时间:2007-10-31
      给楼主修改了下,ie隐藏file控件意义不大,使用的是filter在opera有bug,应该使用opacity,firefox也都可以支持的,但是还是不喜欢透明隐藏file控件,给lz修改了下
      
      
      
      
      New Document
      
      
      
      
      
      
      
      
      
      
      
      
     

    发表于 @ 2008年01月11日 10:01:00|评论(loading...)|编辑

    新一篇: java调用javascript . | 旧一篇: ajax jsp 无刷新上传文件

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 黑马王子