为了账号安全,请及时绑定邮箱和手机立即绑定

我在上传多个文件的时候,在触发onchange事件的时候,怎么能够在input框内显示出多个文件名?求大神解答

我在上传多个文件的时候,在触发onchange事件的时候,怎么能够在input框内显示出多个文件名?求大神解答

PHP
慕少1338687 2016-09-03 16:45:37
<body><div class="box">  <form enctype="multipart/form-data" id="fm1">    <span class="s1">      <em></em>      <input type="file" name="file[]" multiple="multiple">    </span>    <input type="button" class="btn" value="上传">  </form>  <p id="result"></p></div><script>var oFm = document.getElementById('fm1');var oEm = document.getElementsByTagName('em')[0];var oResult = document.getElementById('result');var oBtn = document.getElementsByClassName('btn')[0];oFm.file.onchange = function(){  oEm.innerHTML = this.value;  console.log( this );};
查看完整描述

1 回答

?
大写的王

TA贡献122条经验 获得超162个赞

在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>


多图的话就遍历下出来。

查看完整回答
反对 回复 2016-09-19
  • 1 回答
  • 1 关注
  • 3238 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信