Определить, когда пользователь выбирает файл, используя ввод файла - PullRequest
8 голосов
/ 10 июля 2010

Как я могу определить, когда пользователь выбрал файл для загрузки, используя ввод HTML-файла Таким образом, я могу отправить форму автоматически.

Ответы [ 3 ]

13 голосов
/ 10 июля 2010

Элемент загрузки файла вызывает событие onchange, когда его содержимое изменилось. Вот очень краткий пример:

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

РЕДАКТИРОВАТЬ: О, и если вы хотите отправить форму, когда они выбирают что-то (хотя это, вероятно, будет немного смущает ваших пользователей):

<input type="file" name="whatever" onchange="this.form.submit();" />
9 голосов
/ 10 июля 2010

попробуй

$('#inputfileID').change(function(){
alert(0);
})​
3 голосов
/ 12 ноября 2018

Ванильный способ 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 означает, что соответствующие change прослушиватели в дереве DOM выполняются в порядке снизу вверх. Это значение по умолчанию, но вы всегда должны указывать атрибут для максимальной совместимости.

См. Также SO-ответ о событии изменения , MDN-документы для addEventListener и SO-ответ о представлении формы .

...