如果你需要兼容某些老旧浏览器,那么就用 String.prototype.indexOf,然后判断它的返回值是不是 -1,-1 相当于 false,其它值相当于 true。
在firefox上,input(type=file)默认获取到的value值就是文件名。在IE上,input(type=file)默认获取到的value值是路径。
因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。
示例代码:
<form action="" method="get" onSubmit="return false">
<input type="text" name="test" id="test">
<input type="file" name="testFile" onChange="if(this.value)insertTitle(this.value)">
<input type="submit" value="提交">
</form>
<script language="javascript">
function insertTitle(path){
var test1 = path.lastIndexOf("/") //对路径进行截取
var test2 = path.lastIndexOf("\\") //对路径进行截取
var test= Math.max(test1, test2)
if(test<0){
document.getElementById("test").value = path
}else{
document.getElementById("test").value = path.substring(test + 1)//赋值文件名
}
}
</script>
我就知道路径document.getElementById("那个的id").value下面的只做个参考
function
getFileName()
{
var
path
=
document.getElementById("Main_FileUpload1").value
var
pos1
=
path.lastIndexOf("\\")
alert(pos1)
var
pos2
=
path.lastIndexOf(".")
var
pos
=
path.substring(pos1
+
1,
pos2)
alert(path.substring(pos1+1,pos2))
}
Main_FileUpload1是你的那个上传的ID,我也在搞这个,搞好了,正巧也是用asp。net