langhua9528
2008-11-14 13:25
浏览 217
已采纳

怎么用DWR上传文件,而不改动页面只有JAVASCRIPT操作

JAVASCRIPT
[code="java"]

function addinput2(){ var myinput = document.getElementById("myupload2").innerHTML="<input type='file' name='myupload2' onchange='addinput"+3+"(this)'>"; } function addinput3(){ var myinput = document.getElementById("myupload3").innerHTML="<input type='file' name='myupload3' onchange='addinput"+4+"(this)'>"; } function addinput4(){ var myinput = document.getElementById("myupload4").innerHTML="<input type='file' name='myupload4' onchange='addinput"+5+"(this)'>"; } function addinput5(){ var myinput = document.getElementById("myupload5").innerHTML="<input type='file' name='myupload5'>"; }

[/code]
HTML
[code="java"]

[/code]
我现在调用addinput2()....addinput5()这些方面的时候同时上传文件,我想用DWR,因为只会有DWR,要求页面不更新
现在的情况是,无论用struts,还是那个org.apache.commons.fileupload组件都要用到一个request参数
这个参数怎么传过去,还是有别的什么方法?
还有,我这个写的是代码,我相信function addinput1()到function addinput5()一个JAVASCRIPT函数就可以完成了,无奈JAVASCRIPT太差不知道怎么写?请大家帮助下,谢谢了....
[b]问题补充:[/b]
谢谢咯,但是:
怎么放一个隐藏的iframe
别人只放三个附件就上传了呢?
上传文件是一到五个
[b]问题补充:[/b]
[code="java"]





[/code]
找到JAVAEYE的隐藏的iframe 了
[b]问题补充:[/b]
晕了,我一直以为是用的AJAX呢,我周围的人都是这么想的.......骗了我好多年....
[b]问题补充:[/b]
好了,现在就差JAVAEYE后台的源代码了!
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • iteye_521 2008-11-14 14:03
    已采纳

    [quote]怎么放一个隐藏的iframe [/quote]
    页面中一个iframe,然后用CSS隐藏不就行了。
    [quote]别人只放三个附件就上传了呢?
    上传文件是一到五个 [/quote]
    不管几个附件,都在一个表单里面不就行了,提交过去用commons.fileupload组件取不就行了。fileupload能告诉你一共传过来几个附件

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • catstiger 2008-11-14 13:54

    貌似纯AJAX方式无法上传文件的。页面不更新你可以使用iframe。

    评论
    解决 无用
    打赏 举报
  • iteye_521 2008-11-14 13:54

    连DWR都不用了,放一个隐藏的iframe,直接在addinput5()方法中得到表单的form对象,修改target属性到这个iframe,让这个iframe去提交到一个servlet中就行了。

    评论
    解决 无用
    打赏 举报
  • iteye_521 2008-11-14 14:06

    呵呵,文件上传用ajax搞不了,只能通过这种手段的,哈哈,javaeye也是这样

    评论
    解决 无用
    打赏 举报
  • iteye_521 2008-11-14 14:09

    只是用iframe做个ajax无刷新的效果罢了!

    评论
    解决 无用
    打赏 举报
  • catstiger 2008-11-14 14:10

    用iframe的可以看看这个,包括了服务器端的代码
    http://www.iteye.com/topic/44331
    下面这个更酷,使用flash做的,它使用一个小flash文件来允许用户一次上传多个文件
    Download: http://swfupload.googlecode.com/files/SWFUpload%20v2.0.2.Release.zip

    评论
    解决 无用
    打赏 举报
  • iteye_521 2008-11-14 14:11

    [quote]好了,现在就差JAVAEYE后台的源代码了! [/quote]
    这个东东不好搞,还是看看这个吧,这个好搞:
    [url]http://www.phpletter.com/Demo/AjaxFileUpload-Demo/[/url]

    评论
    解决 无用
    打赏 举报
  • catstiger 2008-11-14 14:12

    出于安全考虑纯Ajax方式(或曰XmlHttpRequest)不可能上传文件,否则就成了木马了,可以偷偷的上传你的文件。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题