7

可能重复:
JavaScript 中的“文件对话框取消”事件

当用户单击取消而不是在文件上传对话框上完成时,是否有监听器?

4

4 回答 4

0

不,没有办法确定用户是否使用 input="file" html 元素单击了“取消”。

如果您需要对网页上的文件上传进行更多控制,您可以像 Gmail 一样使用 Flash

于 2012-06-13T12:04:37.793 回答
0

不,但是您可以使用事件的侦听器检查值是否已更改(例如,用户选择了文件)change

简单的例子:

HTML:

<input id=f type=file>

JavaScript:

function picked(){
    alert("Picked");                
}


$('#f').focus(function(evt){
    $(this).change(picked);   
});

在 jsFiddle 查看这个例子

于 2012-06-13T12:14:25.560 回答
-1

正如其他人所提到的,输入上传标签不能这样做。

我在使用这个 3rd 方 JS 上传器时有过很好的体验。它不使用 Flash,因此也适用于移动设备。

您可以设置:

onCancel: function(id, fileName){}

在初始设置调用中。有关更多详细信息,请参阅 Github 页面上的说明。

于 2012-06-13T12:21:12.877 回答
-3

很可能取决于浏览器。某些浏览器可能允许您捕捉到这一点。其他浏览器可能不会。这是因为 HTML 标准没有明确说明文件上传控件的外观或必须如何实现文件选择。它只是说

此控件类型允许用户选择文件,以便可以将其内容与表单一起提交。INPUT 元素用于创建文件选择控件。

浏览器开发人员可以选择他们允许您选择文件的方式。它可能是一个弹出窗口,也可能是您必须从中选择的计算机/设备中所有文件的列表。

HTML5对行为的定义要好一些,但同样没有涉及文件选择过程。

于 2012-06-13T12:02:39.233 回答