如何识别用户未选择文件而关闭的HTML文件上传向导
how to identify html file upload wizard closed by user without selecting file
我需要确定用户是否关闭了浏览器的文件上传向导而没有选择文件。应该在关闭向导后立即进行识别,并且必须能够使用JavaScript完成识别。当用户关闭文件选择向导进行上传时,是否会触发任何事件?我们也可以使用JQuery。我使用了几个事件,但没有一个在向导关闭后立即触发。
<input type="file" id="fileTaker"
oncancel="cancelledFile()"
onabort="abortedFile()"
onclose="closedFile()"
onclick="clickedFile()"
onchange="changedFile()"
onblur="bluredFile()"
onemptied="emptiedFile()"
onformchange="formChanged()"
onsuspend="suspendFile()"
/>
这里onchange仅在用户选择文件并打开上传时触发(onchange在向导关闭后偶尔触发)。但我需要可靠的事件)。打开向导时会触发Onclick和onblur。其他人没有被解雇。谢谢你。
可以在<input type="file">
元素上使用change
、blur
事件,在window
元素上使用focus
事件;检查<input type="file">
元素.files
属性.length
是否等于0
<script>
function changedFile(el, fromfocus) {
// remove `fromfocus` to set condition
// to `true` for both `onchange` event
// and direct call to `changedFile`
// from within `window.onfocus` handler
if (el.files.length === 0 && fromfocus) {
console.log(el.files.length);
}
}
function handleBlur(el) {
window.onfocus = function() {
this.onfocus = null;
// pass `true` to prevent `if` statement
// being `true` for both `onchange` event
// and direct call to `changedFile` here
changedFile(el, true);
}
}
</script>
<input type="file" id="fileTaker"
onchange="changedFile(this)"
onblur="handleBlur(this)" />
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- 导入jQuery脚本获胜'我不处理html文件
- 生成pdf或其他非html文件时的错误处理
- 从HTML调用typescript文件中的函数
- 使用metro-uiJS对话框调用其他文件html
- 使用选项卡导航到不同的html文件(html、JavaScript)
- 使用 socket.io 时如何发送文件(html,js,css和资源)
- 采购<p>从.txt文件.HTML
- 包含的html中的类无法访问父文件html中的函数
- 重新加载链接文件 HTML
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- Angularjs + 指令文件 html 内容点击事件在 js 文件中不起作用
- 如何直接从网页读取/写入本地文件 (html)
- jQuery加载txt文件.html()
- 指定简单配置文件HTML或javascript的最佳方式是什么
- Angular将所有头文件html提取到一个文件中
- 想要部分上传大文件.HTML/PHP
- AJAX -上传文件(HTML 5) &PHP