因为要用到一个通用的上传,
所以直接把以前写的一个上传程序Copy过来了,
想着传递两个参数,input的名称和form的名称,然后就能自动把值返回过去了,
在其他项目中直接调用这个就好了,
结果写好后,在本地测试正常,代码如下:

<form name="myform" action="MyJsp">
<input type=text name="pic">   
<iframe src="Upload?form=myform&inputName=pic"></iframe>
</form>


然后在处理完整个上传流程后,用

<script>parent.document.form名称.input名称.value='path路径'</script>


来自动返回上传路径到input输入框,
当然,这样写,没有错,而且我一直都是这样来用的,
但是这次出问题了,
我在本机都正常,值能正确返回,
但是同事在另外的电脑上用的时间就出问题了,
因为所在项目不同,需要用完整路径来iframe进来,
也就是改成了这个样子,

<iframe src="http://www.xxx.com/UploadFile/Upload?form=myform&inputName=pic"></iframe>


HO,问题出来了,上传后提示错误,拒绝访问,
晕,怎么会拒绝访问,赶紧GG了下,
发现有个跨域访问的问题,IE默认级别禁止了跨域访问,
好像是这样,值回不来了,么办法,又GG了下,
找到另外一种方法,
这个挺爽,也不需要什么form名称之类的。:)

修改后的完整代码如下:

<form name="myform" action="MyJsp">
<input type=text id=text1>   
<iframe src="http://www.xxx.com/UploadFile/Upload" id=t1></iframe>
<script for=t1 event=onload>
text1.value
=window.status;
</script>
</form>

 

在上传流程完成后,

<script>window.status="Path上传后的路径";</script>


这样就可以了,比开始的方法简便的多了。:)

posted on 2009-08-21 15:11  钱途无梁  阅读(2752)  评论(0编辑  收藏  举报