2010-07-29 56 views
2

我想上传照片用PHP不重装

我想上传一个文件,而不重新加载页面,我也想添加源链接,图像textarea的。

所以当我推upload_photo,图像上传和link被添加到textarea

我想纯HTML,Javascript | AJAX和PHP。


我有什么


<form action"index.php" method="post" enctype="multipart/form-data"> 
    <textarea id="textarea" name="text"></textarea> 
     <input type="file" name="photo" /> 
     <input type="submit" name="upload_photo"/> 
    <input type="submit" name="post"/> 
</form> 

示例网站:


http://www.friendfeed.com - 当你上传的文件的页面不重新加载

我不想


请避免发布与jQuery或解决方案任何库,API是什么。

+2

没有页面刷新我不相信没有Flash,Java或AJAX是可能的。据我所知,这是。祝您找到解决方案!你所谈论的这些AJAX安全风险是什么?它和使用POST一样安全......因为它就是它通常使用的。 – 2010-07-29 20:31:40

+5

我听说他们在Hogwart的教导下解决这个问题 – Mchl 2010-07-29 20:33:26

+0

好吧,我编辑了我的问题,不要因为AJAX而吃我,因为我说“据我所知”,这就是为什么我来这里才知道我该如何做到这一点:) ,我喜欢AJAX,这对我来说很好。 – Adam 2010-07-29 20:40:09

回答

1

这很容易。 放入一个iframe,给它一个名字,例如“MyIframe”。 然后在表单中添加TARGET属性,值为“MyIframe”,动作 - 上传的脚本(例如takeupload.php) 在主页面中定义一个Javascript函数,上传完成后,将通过takeupload.php生成的页面中的参数调用该参数。

在takeupload.php上传图像,然后发送一个普通的空白HTML页面,它将执行一个脚本,它将调用上述方法,并带有一组您需要的参数(图像名称,路径,错误,或纯HTML插入某处等)。

使用这样的:

<script type="text/javascript"> 
parent.YourJSMethod(parameters); 
</script> 

该页面将在iframe中加载,并且它将运行的iframe以外定义的功能。上传完成,父页面接收有关结果的数据。

这很简单。没有jQuery需要,没有AJAX,没有任何东西,只是一个非常简单的Javascript代码和一个小小的HTML。