Я хочу получить загруженный путь к файлу, когда пользователь выбирает файл. Я пытался использовать при изменении, он отлично работает во всех браузерах, но не работает в Internet Explorer. Есть ли способ сделать это?
<input type="file">
$(document).on('click',':file',function(){
alert($(this).val());
});
Скрипт http://jsfiddle.net/j9ran/
вы можете использовать substring
javascript и lastIndexOf
для извлечения имени файла из полного пути c:\fakepath\xyz.jpg
следующим образом:
HTML
<form>
<input id ="input" type="file" />
<input id="smt" type="submit" />
</form>
скрипт
$('#smt').click(function(e)
{
e.preventDefault();
var filename=$('#input').val().substring($('#input').val().lastIndexOf('\\') + 1)
alert(filename)
});
Редактировать в соответствии с требованием в комментарии, чтобы получить имя файла, когда пользователь выбирает любой файл
HTML
<input id="input" type="file" />
<p></p>
скрипт
var filename;
var t;
$('#input').click(function (e) {
$('#input').val(""); //to clear previous file name ,if any
clearInterval(t); //if any previous interval is running
t = setInterval(function () {
if ($('#input').val().length > 0) {
filename = $('#input').val().substring($('#input').val().lastIndexOf('\\') + 1);
clearInterval(t);
$('p').text("");
$('p').text("you have chosen " + filename);
}
else if ($('#input').val().length == 0) {
$('p').text("");
$('p').text("haven't chosen any file");
}
}, 500)
})
on change
?
c:\fakepath\img.jpg