输入类型=“文件”更改后是否可以重新加载表单?

时间:2009-11-09 14:22:23

标签: php javascript html

是否可以在“文件输入”更改后重新加载表单?

我有一个表单,用户可以选择要上传的图像。我还有一个PHP脚本,显示调整后的图像大小。 我只是想知道是否可以重新加载文件输入的表单OnChange,然后调用上传图片的php代码,以便用户可以预览它? php文件必须与文件中的文件相同吗?或者我可以使用javascript调用另一个php文件进行图片上传吗?

注意:用户可以上传多张图片......

请尽可能多的输入指导我正确的方向......

更新: 没有ajax ......没有它可以做到吗?如果页面重新加载,对我来说没问题,但这次是图像......可以吗?

由于

4 个答案:

答案 0 :(得分:1)

当然,与所有编程一样,在大多数情况下,如果你认为它是可能的话,这是可能的。

从我看到你正在查看一个将通过AJAX更新上传结果的表单。您需要查看jQuery这样的javascript框架才能完成此任务,您将基本上传图像/调整大小,并在没有页面重新加载的情况下将其显示给用户。

表单中的数据将使用PHP'图像缩放器'回来的ajax调用进行更新

修改 可能有帮助的ajax图片上传示例:

  1. http://www.phpletter.com/Demo/AjaxFileUpload-Demo/
  2. http://pixeline.be/experiments/jqUploader/test.php

答案 1 :(得分:0)

这里有两个问题。

1)多次上传,因此预览将需要在每个上传的表格中。用户将单击submitsend,浏览器将其发送到服务器。要在幕后执行此操作,您需要找到一个可以帮助您异步执行此操作的PHP脚本。   我发现有用的一个是:http://www.anyexample.com/programming/php/php_ajax_example__asynchronous_file_upload.xml

2)在iframe响应中,您可以传回缩略图的网址。这可能是每个文件的ID。最好的办法是创建一个调用php脚本的图像标记,它将直接返回图像,作为缩略图。

<img src="/imageview.php?id=3&mode=thumbnail" />

这样您就不必保存缩略图,但是当您使用新网址更新src属性时,用户将能够立即看到它。

答案 2 :(得分:0)

提交表单时,整个页面会重新加载。解决此问题的唯一方法是将上传表单放在iframe中。您无法在未提交表单的情况下上传图片,并且无法上传图片的缩略图,您必须上传整个图片,除非您使用flash,silverlight或java。

答案 3 :(得分:0)

<input type="file" name="…" onchange="this.form.submit();">

您需要聪明地跟踪哪些图像已经使用给定的表单会话加载,并在隐藏的输入中存储对它们的引用。