14

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

4

3 回答 3

16

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

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

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

<input type="file" name="whatever" onchange="this.form.submit();" />
于 2010-07-10T10:44:51.773 回答
9

尝试

​</p>

$('#inputfileID').change(function(){
alert(0);
})​
于 2010-07-10T10:46:40.663 回答
9

一种检测文件输入变化的普通 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表示changeDOM树中的相关侦听器以自下而上的顺序执行。这是默认值,但您应该始终提供该属性以最大限度地提高兼容性。

另请参阅有关更改事件的 SO 答案、有关addEventListener 的 MDN 文档有关表单提交的 SO 答案

于 2018-11-12T00:28:02.307 回答