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

<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 );

};


慕少1338687
浏览 3277回答 1
1回答

大写的王

在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>多图的话就遍历下出来。
打开App,查看更多内容
随时随地看视频慕课网APP