将文件输入标签文本更改为文件名

时间:2018-03-25 01:11:48

标签: jquery html

我正在尝试将文件输入字段的标签文本更改为文件名,但是我在控制台中收到以下错误:

  

未捕获的TypeError:无法读取未定义的属性“文件”

这是HTML和JQuery:

<div class="custom-file">
    <label class="custom-file-label text-left" for="customFile" id="file">Choose file</label>
    <input type="file" class="custom-file-input" id="customFile">
</div>


<script type="text/javascript">
    $('#customFile').change(function() {
      var i = $(this).prev('label').clone();
      var file = $('customFile')[0].files[0].name;
      $(this).prev('label').text(file);
    });
</script>

我还在学习JQuery,所以非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

我认为你只是忘了选择

上的customFile#
 var file = $('#customFile')[0].files[0].name;

这里是完整代码

 $('#customFile').on("change",function() {
      console.log("change fire");
     var i = $(this).prev('label').clone();
      var file = $('#customFile')[0].files[0].name;
   console.log(file);
      $(this).prev('label').text(file);

    });

https://codepen.io/jehadja/pen/pLrYwq?editors=1111