JQuery - обнаружение, если файл был выбран в файле ввода

Возможный дубликат:
jQuery: получить имя файла, выбранное из < input type= "file" / >

У меня есть стандартное поле ввода файлов

<input type="file" name="imafile">

У меня также есть текст с текстом вниз, например,

<span class="filename">Nothing selected</span>

Мне было интересно, возможно ли иметь текстовое обновление с именем файла, выбранного в поле ввода файла?

Приветствия,

Ответ 1

Вы должны иметь возможность присоединить обработчик событий к событию onchange входа и вызвать вызов функции для установки текста в вашем диапазоне.

<script type="text/javascript">
  $(function() {
     $("input:file").change(function (){
       var fileName = $(this).val();
       $(".filename").html(fileName);
     });
  });
</script>

Возможно, вы захотите добавить идентификаторы к своим вводам и диапазонам, чтобы вы могли выбирать на основе тех, которые должны быть конкретными для элементов, которые вам нужны, а не других входных файлов или интервалов в DOM.

Ответ 2

Я предлагаю попробовать событие изменения? чтобы узнать, имеет ли значение значение, если это возможно, вы можете продолжить свой код. jQuery имеет

.bind("change", function(){ ... });

или

.change(function(){ ... }); 

которые являются эквивалентами.

http://api.jquery.com/change/

для уникального селектора измените свой атрибут имени на id, а затем jQuery("#imafile") или общий jQuery('input[type="file"]') для всех входных файлов