Показать сообщение отдельно
  #10 (permalink)  
Старый 15.11.2014, 09:33
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

input.value = ""; вполне кроссбраузерный вариант

удивляет то, что в ie11 до сих пор нет fakepath
http://www.w3.org/TR/2011/WD-html5-2...value-filename
http://www.w3.org/TR/2011/WD-html5-2...e-upload-state
<!DOCTYPE html>
<meta charset="utf-8"/>

<script>
function extractFilename(path) {
  var x;
  x = path.lastIndexOf('\\');
  if (x >= 0) // Windows-based path
    return path.substr(x+1);
  x = path.lastIndexOf('/');
  if (x >= 0) // Unix-based path
    return path.substr(x+1);
  return path; // just the filename
}
</script>
This can be used as follows:

<p><input type=file name=image onchange="updateFilename(this.value)"></p>
<p>The name of the file you picked is: <span id="filename">(none)</span></p>
<script>
 function updateFilename(path) {
   var name = extractFilename(path);
   document.getElementById('filename').textContent = name;
   
   alert(path);
 }
</script>


PS: хотя вру, здесь на сайте (а не локально) в ie всё-таки вывело fakepath (на локальном сервере тоже он), ну слава богу

Последний раз редактировалось bes, 15.11.2014 в 09:38.
Ответить с цитированием