Задать вопрос
@adsprosto

Как с jquery поймать значение input[file]?

Поставлена задача:
При изменении файла в input file делать какие-либо действия, здесь отлично срабатывает on('change')
Вызывать эти события нужно постоянно, даже если файл не был измененён
Код написан такой:
$(function(){
$('[for=file]').on('click',function(){
$('#file').val('');
$('#file').on('change',function(){
if($(this).val() != ''){
alert($(this).val());
$(this).blur();
}
});
});
});
Проблема в том, что события срабатывают n+1 раз, то есть первый раз хорошо, во второй раз вызвано будет два алерта, как решить данный вопрос?
  • Вопрос задан
  • 938 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@adsprosto Автор вопроса
$(function(){
$('[for=file]').on('click',function(){
$('#file').val('');
var a = 0;
$('#file').on('change',function(){
if(a < 1){
if($(this).val() != ''){
alert($(this).val());
$(this).blur();
}
}
a++;
});
});
});
Но этот костыль мне не нравится, может кто знает решение?
Ответ написан
Комментировать
userAlexander
@userAlexander
Верстка наше все)
$('.upload-field').on('change', function(event){
	console.log(event.target.files[0].name);
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы