2013-05-03 7 views
0

У меня есть форма, где я разрешаю пользователям загружать файлы. Ну, я использую регулярную кнопку, которая использует javascript для запуска загрузчика файлов, чтобы пользователи могли загружать свои фотографии. Но при этом я больше не могу показывать пользователям, что у них есть выбранный файл (текст, который обычно находится рядом с кнопкой «Выбрать файл»). Мне было интересно, есть ли способ захватить это значение, скажем, с помощью javascript и отобразить его для пользователя.Получение имени файла перед его загрузкой

JSFIDDLE: http://jsfiddle.net/YXgPf/1/

Это то, что я использую подсказывать кнопку загрузки файла:

function getFile(){ 
    document.getElementById("upfile").click(); 
} 
function sub(obj){ 
var file = obj.value; 
var fileName = file.split("\\"); 
document.getElementById("photo-button").innerHTML = fileName[fileName.length-1]; 
document.myForm.submit(); 
event.preventDefault(); 
    } 
+0

Да, используйте '.value' свойство для получения выбранного имени файла, внутри привязки события «change». Обратите внимание, что вызов '.click()' в элементе ввода файла несовместим во всех браузерах. – Ian

+0

Что мне следует использовать? – user2320500

ответ

0

Что-то, как это будет работать:

$("input[type=file]").on("change", function (e) { 
    var file = e.originalEvent.target.files[0]; 
    file.name // This will be the file name. 
}); 
+0

Это не будет работать в IE9 или старше. –

+0

... для IE9 и старше (то есть, где свойство 'files' не существует в элементе ввода файла), вам нужно будет захватить значение элемента ввода файла (и удалить любой« поддельный »путь, который может присутствовать). –

+0

Хороший улов. Спасибо Рэй. –

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