Подтвердить что ты не робот

Как обрабатывать событие onchange на input type = file в jQuery?

Код:

<input ID="fileUpload1" runat="server" type="file"

Следующее прекрасно работает:

<input onchange="javascript:alert('hola');" ID="fileUpload1"  runat="server" type="file"

Я хочу получить этот результат с помощью jQuery, но это не работает:

$('#fileUpload1').change(function (e) {
    alert("hola");
});

Я что-то упустил? (Изменить: Да, я пропустил файл *.js.)

4b9b3361

Ответ 1

Демо: http://jsfiddle.net/NbGBj/

$("document").ready(function(){

    $("#upload").change(function() {
        alert('changed!');
    });
});

Ответ 2

Или может быть:

$('input[type=file]').change(function () {
    alert("hola");
});

Конкретно: $('input[type=file]#fileUpload1').change(...

Ответ 3

Он должен работать нормально, вы заверяете код в вызов $(document).ready()? Если не использовать это или использовать live i.e.

$('#fileupload1').live('change', function(){ 
    alert("hola");
});

Вот jsFiddle этой работы против jQuery 1.4.4

Ответ 4

Этот jsfiddle отлично работает для меня.

$(document).delegate(':file', 'change', function() {
    console.log(this);
});

Примечание..delegate() - это самый быстрый способ привязки событий для jQuery < 1.7: методы привязки событий

Ответ 5

Попробуйте использовать это:

HTML:

<input ID="fileUpload1" runat="server" type="file">

JavaScript:

$("#fileUpload1").on('change',function() {
    alert('Works!!');
});

Ответ 6

 $('#fileupload').bind('change', function (e) { //dynamic property binding
alert('hello');// message you want to display
});

Вы также можете использовать этот