Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
fileTitle = fileInput.value.replace(/.*[\\\/]/, '');Спорно. А что если в одном пути будут и прямые и обратные слеши?
D:\>dir "d:\tmp/tmp1\tmp2"
Том в устройстве D не имеет метки.
Серийный номер тома: 9C70-5B85
Содержимое папки d:\tmp\tmp1\tmp2
04.08.2008 21:26 <DIR> .
04.08.2008 21:26 <DIR> ..
04.08.2008 21:26 <DIR> tmp3
0 файлов 0 байт
3 папок 153 398 829 056 байт свободно

function HandleChanges(){
var pos = ['doc', 'bmp', 'jpg', 'jpeg', 'png', 'gif', 'psd', 'mp3', 'wav', 'ogg', 'avi',
'wmv', 'flv', 'pdf', 'exe', 'txt'].indexOf(fileInput.value.match(/\.([a-z]{3,4})\s*$/)[1]);
fileName.style.display = 'block';
fileName.style.background = 'url(images/icons.png) no-repeat 0 -' + (pos < 0 ? 176 : pos * 16) + 'px';
}
if (!Array.prototype.indexOf)
Array.prototype.indexOf = function(value){
for (var i = 0; i < this.length; i++)
if (this[i] === value)
return i;
return -1;
}
function HandleChanges(){
var ext = fileInput.value.match(/\.([a-z]{3,4})\s*$/)[1];
var extList = ['doc', 'bmp', 'jpg|jpeg', 'png', 'gif', 'psd', 'mp3',
'wav', 'ogg', 'avi', 'wmv', 'flv', 'pdf', 'exe', 'txt'];
for (var pos = 0; pos < extList.length; pos++)
if (new RegExp('^(' + 'jpg|jpeg' + ')$', 'i').test(ext))
break;
fileName.style.display = 'block';
fileName.style.background = 'url(images/icons.png) no-repeat 0 ' + (-pos * 16) + 'px';
}Отлично, но осталось несколько проблем. Первая: в разметке большое количество дивов, которые портят семантику.
<div class="blocker"> - ненужен:<div id="activeBrowseButton"> - лишняя сущность
Стилизация файл-инпутов