【发布时间】:2012-08-15 08:55:06
【问题描述】:
是否有机会检测到用户为file 类型的 HTML input 元素所做的每个文件选择?
这个问题之前被问过很多次,但是如果用户再次选择相同的文件,通常建议的onchange 事件不会触发。
【问题讨论】:
-
如果用户点击取消,您的代码是否也必须触发?人们预计点击取消将无济于事,我认为大多数用户会进一步预计重新选择相同的文件将具有与取消相同的效果。我不知道这是否可能,但我建议你重新考虑这个设计。
-
取消时不应触发或使其可检测到。它更多地意味着删除 UI ceveat:如果在选择文件后调用了某些操作,用户通常希望再次选择文件后该操作会重复。
-
如果我们在对文件执行某些操作后将
inputs 的值设置为'',也许我们可以有这种行为。但这也会删除可见的文件名。但是,这可能没问题,因为文件实际上已被处理,并且该操作的结果可能会出现在其他地方。 -
请解释一下你想做什么?
-
我想要的只是模拟桌面应用程序的老派行为。如果我在桌面应用程序中再次“打开”同一个文件,通常会重新加载它,或者如果对文件执行了某些操作(例如将其转换为另一种格式),则会再次执行此操作。这也是桌面用户对 Web 应用程序的期望,但
file输入onchange事件并不相似。
标签: javascript html forms dom-events