日期:2014-05-16  浏览次数:20577 次

文件上传 成功

<form method="post" name="uploadform" action="" id="uploadform" ENCTYPE="multipart/form-data" >
file:<input name="upload" type="file" />
</form>
我以前 实现文件上传用 如下代码
document.getElementById('uploadform').action='upload.php';document.getElementById ('uploadform').submit();
在upload.php中处理文件


但是这样 就跳转了页面?
我想怎么才能实现后台处理 'upload.php'成功后 返回信息呢?

我感觉如果不submit 就不行。。。submit会刷新页面?
求方法

------解决方案--------------------
指定form 的target 就可以在新窗口提交

不过通常用后台上传是弄一个iframe,传完后传值给父窗口
------解决方案--------------------
<form method="post" name="uploadform" action="" target="iframe1" id="uploadform" ENCTYPE="multipart/form-data" >
file:<input name="upload" type="file" />
</form>
<iframe name="iframe1" style="display:none"></iframe>
<script>function callback(msg){alert(msg);}</script>

php没用过

但大致要让 iframe调用父窗口的函数,parent.callback("I'm come back!File is uploaded!");

aspx : Response.Write("<script>parent.callback("I'm come back!File is uploaded!")/script>");
------解决方案--------------------
1楼说的对,ajax不能实现无刷新上传,要用iframe。
<form method="post" name="uploadform" action="" id="uploadform" ENCTYPE="multipart/form-data" target="upload">
</form>
<iframe id="upload" name="upload" style="display:none"></iframe>
<script type="text/javascript">
function reFunc(msg){alert(msg)}
</script>
主要是form的target属性,其余的都正确,target的意思是,form表单的提交动作在哪儿发生,现在让他在ifame中发生。、
后台处理以后,如果上传成功,写给浏览器这样一段代码:<script type='text/javascript'>window.parent.reFunc('上传成功')</script>,这段代码的意思是,让发生form动作的父窗口执行reFunc这个方法。就像我上面写的那段js