用的fileupload
写的action上传
页面里用的<iframe id="IconL" src="Admin/UploadFile.jsp?<%=date.getTime() + characterUtils.getRandomString1(5)%>" scrolling="no" width="100%" frameborder="0" marginheight="0" marginwidth="0" style="height:25px;"></iframe>
因为页面中还有个整个表单的ACTION需要提交,所以嵌套from直接进页面会吧所有的都提交。
所以用这样的iframe来传文件
现在可以传,返回的页面也显示在iframe中,但我需要获取到action中的返回值给我的父页面,求解,或者更好的方法,jsmartupload那个用页面来写传递,在up页面中写<SCRIPT>调用比较困难,需要提交整个表单,是否有其他方式来做?

解决方案 »

  1.   

    frame的结果页面种,onload里面,写上:parent.***Form.***Hidden.value=返回值
    ×××Form是你的上级页面,***Hidden是你的一个隐藏变量用来保存上传后的返回值
      

  2.   


    在父页面用js可以得到action返回的值
    首先将action中的返回值放入到iframe页面的隐藏表单域中保存
    然后:
    window.frames['main'].document.getElementById('hideInfo').value;
    main是iframe的name,hideInfo是隐藏表单域的id;这样就能得到值了
      

  3.   

    这样IFRAME时直接是操作IFRAME中的网页,没有用JS。ACTION返回时就是没法和这个父页面通信。因为是传文件不是一般的数据,所以在写的时候JS会有安全限制无法访问。所以在父页面用JS貌似不太好实现吧。客户不可能传完后再手动去点击什么按钮触发JS来获取值。
    问题就在于,父页面中没有事先触发任何JS来等待ACTION的callback。
      

  4.   

    消息: 'parent.main.cateNewsIconL' 为空或不是对象
    行: 22
    字符: 4
    代码: 0
    完蛋了