<script type="text/javascript">
window.onload = function(){
document.getElementsByTagName('input')[0].onchange = function(){
document.getElementsByTagName('div')[0].innerHTML = this.value;
};
};
</script>
<input type="file" />
<div></div>
В данном скрипте на javascript сделан скрипт который выводит полный путь файла. Как исправить чтобы показывало только название файла?
у инпутов с типом file есть коллекция выбранных файлов, в ней сохраняются объекты типа File, у которого есть поле name, в котором содержится имя выбранного файла.
document.getElementsByTagName('input')[0].onchange = function() {
if (this.files[0]) // если выбрали файл
document.getElementsByTagName('div')[0].innerHTML = this.files[0].name;
};
<input type="file" />
<div></div>
Смотрим ответ от @Grundy.
document.querySelector('input').addEventListener('change', function() {
var splittedFakePath = this.value.split('\\');
document.querySelector('div').textContent =
splittedFakePath[splittedFakePath.length - 1];
});
<input type="file">
<div></div>
https://jsfiddle.net/xfynp30o/
$('input').on('change', function() {
var splittedFakePath = this.value.split('\\');
$('div').text(splittedFakePath[splittedFakePath.length - 1]);
});
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<input type="file">
<div></div>
https://jsfiddle.net/pxk8x599/
Можно добавить проблем и сделать это с помощью регулярных выражений:
document.querySelector('input').addEventListener('change', function() {
document.querySelector('div').textContent =
this.value.replace(/.*\\(.+)/, '$1');
});
<input type="file">
<div></div>
https://jsfiddle.net/bvk7xcw4/
Сборка персонального компьютера от Artline: умный выбор для современных пользователей