检测用户何时使用文件输入选择文件

发布于 2024-09-09 21:54:17 字数 49 浏览 6 评论 0原文

如何检测用户何时使用 html 文件输入选择要上传的文件。这样我就可以自动提交表格。

How can I detect when a user has chosen which file to upload using a html file input. That way I can submit the form automatically.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情归归情 2024-09-16 21:54:17

文件上传元素在其内容发生更改时会触发 onchange 事件。这是一个非常简洁的示例:

<input type="file" name="whatever" onchange="alert('Changed!');" />

编辑:哦,如果您想在他们选择某些内容时提交表单(尽管这可能会让您的用户感到有点困惑):

<input type="file" name="whatever" onchange="this.form.submit();" />

The file upload element fires an onchange event when its contents have changed. Here's a very terse example:

<input type="file" name="whatever" onchange="alert('Changed!');" />

EDIT: Oh, and if you'd like to submit the form when they select something (although this will probably be a little confusing to your users):

<input type="file" name="whatever" onchange="this.form.submit();" />
淡看悲欢离合 2024-09-16 21:54:17

检测文件输入中的更改的普通 JavaScript 方法:

var fileInput = document.getElementById('inputfileID')
fileInput.addEventListener('change', function () {
  // Called when files change. You can for example:
  // - Access the selected files
  var singleFile = fileInput.files[0]
  // - Submit the form
  var formEl = document.getElementById('formID')
  formEl.submit()
}, false);

只需提及:属性 false 表示不使用捕获,即 false 表示相关的更改 监听器按照自下而上的顺序执行。它是默认值,但您应该始终提供该属性以最大限度地提高兼容性。

另请参阅有关更改事件的答案addEventListener 的 MDN 文档,以及 SO回答有关表单提交的问题

A vanilla JavaScript way to detect a change in the file input:

var fileInput = document.getElementById('inputfileID')
fileInput.addEventListener('change', function () {
  // Called when files change. You can for example:
  // - Access the selected files
  var singleFile = fileInput.files[0]
  // - Submit the form
  var formEl = document.getElementById('formID')
  formEl.submit()
}, false);

Just to mention: the attribute false means to not use capture i.e. false means that relevant change listeners in the DOM tree are executed in bottom-up order. It is the default value but you should always give the attribute to maximise compatibility.

See also a SO answer about change event, MDN docs for addEventListener, and a SO answer about form submission.

〗斷ホ乔殘χμё〖 2024-09-16 21:54:17

尝试

$('#inputfileID').change(function(){
alert(0);
})​

try

$('#inputfileID').change(function(){
alert(0);
})​
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文