我目前正在使用HTML、CSS和JavaScript设计一个表单,其中包括输入类型=文件.我自定义了该表单,以便输入现在使用图像,可以单击该图像来浏览和 Select 用户机器中的文件.不过,我也希望它具有拖放功能.
下面是我目前拥有的代码.此代码足以完成几件事:
- 它用IMG标签中调用的图像替换了在使用带有类型=文件的输入标签时渲染的默认" Select 文件"按钮.
- 它使用一些JavaScript作为span标签,以向用户指示他们 Select 了哪个文件,或者是否没有 Select 任何文件.
这些之所以成为可能,是因为CSS用于更改输入标记中类型=文件的默认行为.然而,我还没有找到可以在当前解决方案中实现拖放的代码.有人能帮忙吗?
<style>
.required-file::after {
content: "*";
color: red;
}
.custom-upload {
display: inline-block;
padding: 6px 12px;
cursor: pointer;
}
input[type="file"] {
display: none;
}
</style>
<script>
$(function() {
const fileUploadElement = document.getElementById('fileUpload');
const chosenFileElement = document.getElementById('chosen-file');
fileUploadElement.addEventListener('change', function(){
chosenFileElement.textContent = this.files[0].name;
});
});
</script>
<label for="fileUpload" class="custom-upload">
<img src="/fakepath/image.png" width="100" height="100">
</label>
<input type="file" id="fileUpload" name="fileUpload" >
<span class="required-file" id="chosen-file">No file chosen</span>