JS实现本地文件选择

本文介绍了一个使用layui框架实现的文件上传功能,通过隐藏的input[type='file']元素触发文件选择对话框,并在用户选择文件后更新页面上的文件名显示。
摘要由CSDN通过智能技术生成

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(){
            //文件上传事件
        });

效果:

 

参考博客与问答:

 https://ask.csdn.net/questions/683933

https://blog.csdn.net/A350204530/article/details/80049129

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值