2011-01-12 4 views
2

У меня есть форма, которая имеет входной контроль файла:Как записать имя файла из ввода файла с помощью jQuery?

<input type="file" onclick="this.blur()" name="descFile" /> 

Таким образом, когда пользователь выбирает файл, путь показывает, во входном текстовом поле (поведение браузера по умолчанию), НО, бизнес хотел бы, чтобы я разместите жирным шрифтом сообщение ниже, что они выбрали файл для загрузки, до обратной передачи.

Есть ли способ использовать Javascript для захвата события «выбрать» из ввода файла и отображения жирным шрифтом под вводом файла?

+0

Вы хотите, чтобы захватить имя файла, или просто тот факт, что он выбрал файл? – Jonas

+0

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

ответ

5
$('input[name="descFile"]').change(function(){ 
    var filename = $(this).val(); 
    $('<label>Filename selected: '+ filename +'</label>').insertAfter($(this)); 
}); 

Не забудьте поместить его внутрь или аналогичные:

$(function(){ }); 
+0

Спасибо, что отлично работает , Не уверен, почему пользователям нужно больше показаний, но так оно и есть. :) –

1

Это значение значение, связанное с вашим тегом ввода, если я понимаю ваш вопрос.

$('#file_attach').change(function(){ 

     path=$(this).attr('value'); 
     start = path.lastIndexOf("."); 
     alert("extention: "+start); 
}); 
1

Это может быть сделано как этот

$('input[type=file]').val() 

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

$('input[type=file]').change(function(e){ 
    $in=$(this); 
    $in.next().html($in.val()); 
}); 
+1

Вы должны отдать должное человеку, который написал это изначально: http://stackoverflow.com/questions/1299052/jquery-get-the-file-name-selected-from-input-type-file –

Смежные вопросы