html代码(我的页面用了layui框架,自己实现可简单写写就行):
<div class="layui-form-item">
<label class="layui-form-label">文件名:</label>
<div class="layui-input-block">
<input type="text" name="title" placeholder="请选择文件" id = "fileNameInput" autocomplete="off" class="layui-input" disabled="disabled" title="不可编辑">
</div>
</div>
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-normal" id="chooseFile" >选择文件</button>
<button type="button" class="layui-btn" id="fileImport"><span class="glyphicon glyphicon-cloud-upload"></span>文件导入</button>
</div>
JS代码:
function upload() {
var inputObj=document.createElement('input')
inputObj.setAttribute('id','file');
inputObj.setAttribute('type','file');
inputObj.setAttribute('name','file');
inputObj.setAttribute("style",'visibility:hidden');
document.body.appendChild(inputObj);
inputObj.value;
inputObj.click();
console.log(inputObj);
}
$("#chooseFile").on('click',function(){
upload();
document.querySelector('#file').addEventListener('change', e => {
for (let entry of e.target.files){
document.getElementById("fileNameInput").value=entry.name;
console.log(entry.name, entry.webkitRelativePath);
}
});
});
$("#fileImport").on('click',function(){
//文件上传事件
});
效果:


参考博客与问答:
本文介绍了一个使用layui框架实现的文件上传功能,通过隐藏的input[type='file']元素触发文件选择对话框,并在用户选择文件后更新页面上的文件名显示。

2009

被折叠的 条评论
为什么被折叠?



