我正试图将文件输入字段的标签文本更改为文件名,但在控制台中出现以下错误:
Uncaught TypeError:无法读取未定义的属性“files”
下面是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,所以非常感谢您的帮助!

最佳答案

我想你忘了选择器上的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

09-26 08:54