使用 JavaScript 捕获文件浏览窗口的关闭

2023-11-22

我正在使用 infile 要求用户浏览其计算机上的文件。如果在没有选择文件的情况下关闭窗口,有没有办法捕获?
例如,如果单击 x。

<input type="file" name="data" id="inFile" size="15" style="display:none" onchange="handleFiles(this)"/>

Thanks


解决方案来自选择同一文件时不会触发 HTML 输入文件选择事件,我想你可以用这个:

<input type="file" name="data" id="inFile" />
var fileElem = document.getElementById("inFile");
var fileSelected = null;
fileElem.onclick = function(e) {
    fileSelected = this.value;
    this.value = null;
});
/* or use this in your browse() function:
    fileElem.value = null;
*/
fileElem.onchange = function(e) { // will trigger each time
    handleFileDialog(this.value === fileSelected);
};

function handleFileDialog(changed) {
    // boolean parameter if the value has changed (new select) or not (canceled)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JavaScript 捕获文件浏览窗口的关闭 的相关文章

随机推荐

  • 在 perl6 语法中放松空白的最佳方法是什么?

    我想要一个在是否存在空格方面宽松的语法 我想匹配 this
  • 创建一个非常简单的链表

    我试图创建一个链接列表只是为了看看我是否可以 但我很难理解它 有谁有一个使用 C 非常简单地实现链表的示例吗 到目前为止我发现的所有例子都有点过头了 链表的核心是一堆链接在一起的节点 因此 您需要从一个简单的 Node 类开始 public
  • Makefile 始终运行目标

    我可能会错过这个 Makefile 中一些非常明显的东西 convert devel bar touch convert init devel foo echo init devel foo mkdir p devel touch deve
  • 读/写音频/视频文件的元数据

    我需要一些帮助来读取 写入音频 视频文件的元数据信息 我进行了很多搜索 但没有找到任何有用的东西 Taglib Sharp 是一个开源库 为读取 写入元数据提供帮助 使用标签库我可以编辑一些值 但不是全部 TagLib File video
  • 如何在 PHP 中显示取决于用户输入的长查询的 MySQL 错误? [复制]

    这个问题在这里已经有答案了 在 PHP 中 我尝试执行一个依赖于用户输入的长 MySQL 查询 但是 我的查询失败并显示以下消息 Query Failed 实际上 每当查询失败时 我都会打印此消息 但我很难查找此失败背后的原因 不幸的是 我
  • 来自存储在表中的值的 SQL 动态 SELECT 语句

    我已经研究了几天了 感觉自己在兜圈子 我有 SQL 的基本知识 但有很多地方我不明白 我有一个表 用于存储数据库中所有其他表的名称和字段 tblFields TableName FieldName BookmarkName Customer
  • 为什么除了没有捕获这个错误?

    我有一个程序可以模拟掷骰子并将它们与图表 一组字符串列表 中的值进行比较 我目前从 TEdit 获取值 如果该框为空 则会引发 EConvertError 该错误应该由我的 Try Except 语句捕获 但事实并非如此 想法和建议 下面的
  • 如何保护项目中的数据库配置文件? [复制]

    这个问题在这里已经有答案了 我已经创建了 php 文件来与数据库服务器建立连接 在这个文件中 我正在使用mysql connect 函数的参数为 我的数据库服务器的主机 用户名和密码 public class DatabaseConnect
  • 在网页上实时显示数据[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我不确定如何用最好的方式来表达它 但我正在寻找一种在网页可用时在网页上显示数据的方法 示例 在网页上显示 IRC 频道消息 当消息发送到 IRC 频
  • 生成正则表达式

    通常在我们的工作中我们会使用正则表达式capture or match运营 但是 可以使用正则表达式 至少手动 来生成与正则表达式匹配的合法句子 当然 有些正则表达式可以匹配无限长的句子 例如表达式 我有一个问题可以通过使用正则表达式句子生
  • IntelliJ:命令行太长。在 SBT 项目中缩短命令行...

    当我尝试运行我的应用程序时 IntelliJ 刚刚开始告诉我 命令行太长 缩短 my app 或应用程序默认配置的命令行 the my app是一个蓝色链接 可通往 编辑配置 窗口 自动选择并突出显示类路径缩短器的下拉列表 我选择了建议的选
  • Android:ListViews 和 CheckBoxes 的问题

    我有一个 ListView 在每个列表项中我有一些 TextView 和一个 CheckBox 当我检查复选框并且 onCheckedChangeListener 触发时 一切都会按预期工作 然而 一旦选中一个复选框 就会随机选中其他复选框
  • .Maui 静态 Web 资源构建问题

    严重性代码 说明 项目文件行抑制状态 未找到 obj Debug net6 0 android android x86 staticwebassets build json 处的错误清单文件 MauiApp3 C Program Files
  • 如何更改 seaborn 对图中绘图元素的 z 顺序

    这是一个片段 用于重现我的示例图像 import pandas as pd import numpy as np import seaborn as sns np random seed 42 df pd DataFrame np rand
  • Environment.UserName 返回应用程序池名称而不是用户名

    下面一行 Environment UserName 在 Visual Studio 的调试模式下 返回我需要的用户身份 然后 当我在 IIS 中设置站点并运行代码时 同一行返回该站点使用的应用程序池的名称 我怎样才能让它仍然返回用户名 尝试
  • 如何在 Spring Webflux / Reactor Netty Web 应用程序中执行阻塞调用

    在我的用例中 我有一个带有 Reactor Netty 的 Spring Webflux 微服务 我有以下依赖项 org springframework boot spring boot starter webflux 2 0 1 发布 o
  • CSS 样式 <音频>

    有没有一种方法可以设置时间线拇指 搜索者 的样式
  • 将代码跟踪到 PDF 或 PostScript 文件中

    有没有办法跟踪 PDF 的打开时间 也许通过将一些脚本嵌入到 pdf 本身中 我看到下面的问题 我想对于 javascript 来说答案是 否 但我想知道这是否可能 Google Analytics 跟踪代码插入 pdf 文件 PDF 标准
  • 计算“凯文·培根”数字

    我一直在玩弄一些东西并想到了试图弄清楚的想法凯文 培根数字 我有一个网站的数据 为此我们可以考虑将其视为社交网络 让我们假设它是 Facebook 为了简化讨论 我有一些人 我有他们的朋友名单 所以我有他们之间的联系 我如何计算一个人到另一
  • 使用 JavaScript 捕获文件浏览窗口的关闭

    我正在使用 infile 要求用户浏览其计算机上的文件 如果在没有选择文件的情况下关闭窗口 有没有办法捕获 例如 如果单击 x