使用jQuery上传文件而无需点击“上传”按钮

3

我想要一个 <input type="file"> 表单元素,用户选择文件后立即触发上传过程,无需用户再点击“上传”按钮。

如何在选择文件后立即启动文件上传过程,并异步执行文件传输?

编辑:Uploadify 看起来不错 - 但它需要 Flash 才能上传。如果可能的话,我想尽量避免这种情况。要求使用 Flash 上传文件可能会成为人们在线获取照片的障碍。我的目标网站受众是那些没有太多互联网、表单等经验的人。我正在努力让整个流程尽可能简单。

2个回答

4

您不需要使用任何库。创建一个带有id的隐藏iframe(visibility:hidden而不是display:none)。然后将上传表单的target属性设置为此iframe。像往常一样触发表单提交。


我相信你可以绑定到表单上传输入。由于安全限制,您可能无法读取其内容,但只需知道它已被触发即可。这是完全可能的,因为Gmail电子邮件附件以类似的方式工作。 - Mauvis Ledford
这似乎是正确的方法。Uploadify基于Flash,所以我认为不适用。我可以在文件表单元素上设置一个“onchange”事件来触发表单提交,从而将文件发布到IFRAME。谢谢。这有点hackish,但由于你无法通过jQuery本地发布表单数据,因此这种解决方法似乎是最好的选择。 - Scott

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接