2009-11-26 8 views

Odpowiedz

31

Spróbuj właściwość value, tak:

var fu1 = document.getElementById("FileUpload1"); 
alert("You selected " + fu1.value); 

UWAGA : Wygląda na to, że FileUpload1 to kontrolka FileUpload po stronie serwera ASP.Net.
Jeśli tak, to powinieneś dostać swój identyfikator za pomocą właściwości ClientID, tak:

var fu1 = document.getElementById("<%= FileUpload1.ClientID %>"); 
+5

15 sekund, dobra praca X-) –

1

Spróbuj

var fu1 = document.getElementById("FileUpload1").value; 
2

Spróbuj document.getElementById("FileUpload1").value wartość ta powinna mieć ścieżkę do pliku, który ma zostać dodany, tylko pas wszystkie katalogi z tą wartością, a będziesz miał nazwę pliku.

1

RaYell, Nie trzeba analizować zwróconej wartości. document.getElementById("FileUpload1").value zwraca tylko nazwę pliku z rozszerzeniem. To było dla mnie przydatne, ponieważ chciałem skopiować nazwę pliku, który ma zostać przesłany, do pola wejściowego o nazwie "tytuł". W mojej aplikacji przesłany plik zostaje zmieniony na indeks generowany przez bazę danych, a tytuł jest przechowywany w bazie danych.

23

W google chrome element.value zwraca nazwę + ścieżkę, ale fałszywą ścieżkę. Tak więc, na moim przypadku użyłem atrybut name plik jak poniżej:

function getFileData(myFile){ 
    var file = myFile.files[0]; 
    var filename = file.name; 
} 

to jest wezwanie ze strony:

<input id="ph1" name="photo" type="file" class="jq_req" onchange="getFileData(this);"/> 
+0

Uwaga dla innych: dla IE11 to nic nie zwróciło mi. – Cordell

+0

Dla mnie działało dobrze w IE11 –

1

Używając kodu takiego w formie mogę uchwycić oryginał pobierz plik źródłowy, skopiuj go do drugiego prostego pola wprowadzania. Dzięki temu użytkownik może podać alternatywną nazwę pliku do przesłania w celu przesłania żądania, ponieważ nazwa przesłanego pliku jest niezmienna.

<input type="file" id="imgup1" name="imagefile"> 
     onchange="document.getElementsByName('imgfn1')[0].value = document.getElementById('imgup1').value;"> 
    <input type="text" name="imgfn1" value=""> 
+1

Chociaż ten fragment kodu może rozwiązać pytanie, [w tym wyjaśnienie] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-ans -answers) naprawdę pomaga aby poprawić jakość twojego posta. Pamiętaj, że odpowiadasz na pytanie przeznaczone dla czytelników w przyszłości, a te osoby mogą nie znać powodów sugestii dotyczących kodu. – Ferrybig

Powiązane problemy