2013-05-03 65 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

相关问题