在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>
//fileupload对象是文本框类标签出现时候就会被创建出来//获取上传文件的文件名其实就是获取文本框type为file中的value,虽然这个value一般来说是只读
//下面贴代码
<!DOCTYPE <html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8">
</head>
<body>
<span>文件名:</span><input type="file" />
<script type="text/javascript" src="
<script type="text/javascript">
!function($){
var reg = /^(\w)(:)(\\\w+)*\\(\w+.[a-zA-Z]+)*(\w+)*$/g
$('input').on('change', function(){
var name = $('input').val()
// name = name.match(reg)
name = name.replace(reg,"$4")
alert(name)
})
}(jQuery)
</script>
</body>
</html>
//测试结果