2012-07-13 243 views
6

如果我们要使用javascript为文件读取设置事件回调,但是如何设置用户取消上传时的事件(关闭浏览面板),我们可以使用file.onchangejavascript中的文件上传取消事件

+0

或许,如果你提到你的使用情况下,可能会有人提出一个替代方案。 – 2012-07-13 05:19:33

+0

我只想发送没有重定向的文件,所以我必须使用iframe。但我希望在用户点击之后建立iframe,并在用户完成使用面板后立即消失。这是想法 – Dagon 2012-07-13 08:04:01

+0

嗯,所以你想在用户选择一个东西后立即触发上传?我的建议是让用户选择文件,然后紧挨着它 - 有一个上传按钮。然后,您可以在点击时创建iframe。这样你就知道文件选择器的价值,显然如果它是零,你可以呈现某种验证信息。 – 2012-07-13 18:07:56

回答

1

没有用于文件输入模式的API。此外,如果用户关闭浏览器,您的代码将不再运行,是吗?

当然有window.onunload方法可以让你检测你给的例子。

根据评论,我可以想出最好的事情将是有益的是,如果没有选择什么,file.value.length0

+0

对不起。它不是浏览器。我的意思是文件浏览面板。当我们点击元素时可以打开 – Dagon 2012-07-13 02:34:25

+3

无后顾之忧。不幸的是,没有取消活动。我唯一想到的是,如果没有选择任何东西,file.value.length将为0.不幸的是,当用户退出除onchange之外的模式时,没有什么可检测到,只有在选择文件时才会触发。 – 2012-07-13 05:17:48

+0

不幸的是,在文件面板弹出之前和之后值不会改变。所以即使使用setinterval,我们也无法捕捉弹出窗口。你认为面板弹出后还有其他值会被更改吗? – Dagon 2012-07-13 07:40:37

0

没有浏览器支持“onfileopendialogboxclose”或“onfileselectioncancel”事件。再加上,在文件选择对话框不是一个元素,不能被获取,作为一个HTML元素

+0

你不会说我回答了你的问题吗?组成两个不存在的事件名称并使用我的信息并不真正回答这个问题。 – 2012-07-16 21:28:17

+0

完成........... – Dagon 2012-07-16 22:06:10

+0

谢谢! Upvoted这个问题,所以你会得到一些观点。 – 2012-07-16 22:12:22

-3

这是非常简单的使用jQuery:

$("#fileInputId").change(function() { 
    //implement your code here 
}); 
+2

这不会解决OP询问的问题 – 2013-12-22 21:12:00