document.getElementById( "FileUpload1" );在IE中给出空值/未定义值



我在Chrome浏览器中获取文件名,但在IE中我得到空值。 我想只在 html 和 java 脚本 asp.net 显示选择文件名。 附加代码如下

var files = document.getElementById("FileUpload1");

给我空/未定义的值,并且

var fileName = document.getElementById("FileUpload1").files[0].name

给出错误为无法获取未定义或空引用的属性"0">

function showFileName() { 
document.getElementById("FileUploadedLabel").style.color = "black";
var files = document.getElementById("FileUpload1"); 
if(files != null && files != undefined && files != 'undefined') { 
var fileName = document.getElementById("FileUpload1").files[0].name; 
document.getElementById("FileUploadedLabel").innerHTML = "File name:-" + fileName;
} 
}
<div class="image-upload">
<label for="FileUpload1">
<img src="button_choose-file.png" class="image" style="height:30px; width:100px" />
</label>
<asp:FileUpload runat="server" ID="FileUpload1" Style=" display:none;" onmouseover="mouseOverUpload()" onmouseout="mouseOutUpload()" Onchange="showFileName()"/>
</div>

<html>
<head>
<script>
function showFileName(fileInput) {
var files = ((typeof fileInput === 'string' && (fileInput = fileInput.match(/[^\/]+$/)) && fileInput[0]) || '')
document.getElementById("FileUploadedLabel").innerHTML = "File name:" + files;
}
</script>
</head>
<body>
<asp:FileUpload runat="server" ID="FileUpload1" Onchange="showFileName(this.value)"/>
</html>
</body>

最新更新