2013-05-03 47 views
0

我有一個允許用戶上傳文件的表單。那麼,我正在使用一個常規的按鈕,使用JavaScript來觸發文件上傳,讓用戶上傳他們的照片。但是在這樣做的時候,我不能再向用戶顯示他們已經選擇了一個文件(文本通常在「選擇文件」按鈕旁邊)。我想知道是否有辦法獲得這個價值,用javascript說,並顯示給用戶。在上傳文件之前獲取文件的名稱

的jsfiddle:http://jsfiddle.net/YXgPf/1/

這是我用來提示文件上傳按鈕:

function getFile(){ 
    document.getElementById("upfile").click(); 
} 
function sub(obj){ 
var file = obj.value; 
var fileName = file.split("\\"); 
document.getElementById("photo-button").innerHTML = fileName[fileName.length-1]; 
document.myForm.submit(); 
event.preventDefault(); 
    } 
+0

是,使用'.value'屬性來獲取選定的文件名,在'change'事件的綁定中。請注意,在文件輸入元素上調用'.click()'在所有瀏覽器中都不兼容。 – Ian 2013-05-03 18:53:07

+0

然後我應該使用什麼? – user2320500 2013-05-03 18:54:32

回答

0

像這樣將工作:

$("input[type=file]").on("change", function (e) { 
    var file = e.originalEvent.target.files[0]; 
    file.name // This will be the file name. 
}); 
+0

這不適用於IE9或更舊版本。 – 2013-05-03 19:43:54

+0

...對於IE9及更高版本(即文件輸入元素中不存在「文件」屬性的情況),您需要獲取文件輸入元素的值(並刪除任何「假」出席)。 – 2013-05-03 20:15:04

+0

好的。謝謝雷。 – 2013-05-06 16:12:16

相關問題