Как передать событие выбора файла в jquery?

0

Вот элемент ввода файла

<input type="file" id="url" name="url[]" multiple />

Теперь код, который прослушивает его при изменении события

document.getElementById('url').addEventListener('change', handleFileSelect, false);

Функция

function handleFileSelect(evt) {
    var files = evt.target.files; // FileList object
}

Это прекрасно работает.. !!

Но это не

<input type="file" id="url" name="url[]" multiple onchange="handleFileSelect()" />

Он выдает ошибку "TypeError: evt undefined"

как получить событие для второго?

Теги:

2 ответа

3
Лучший ответ

Вам необходимо передать event в качестве параметра методу handleFileSelect.

Пытаться

<input type="file" id="url" name="url[]" multiple onchange="handleFileSelect(event)" />

Демо: скрипка

  • 0
    Да, это работает отлично, но как первый смог автоматически пройти событие?
  • 1
    @ClainDsilva в том, который вы передаете обработчику в качестве ссылки на функцию, и он вызывается движком js ... но во втором вы вызываете функцию в встроенном обработчике
0

Попробуй это:

$(document).ready(function(){
    $("#url").change(function(){
        var th = $(this);
        //some action
    });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню