我正试图将文件输入字段的标签文本更改为文件名,但在控制台中出现以下错误:
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