改变上传文件表单默认样式

xiaoxiao2021-02-28  29

一.上传文件表单默认样式

    1.代码

<div style="margin-top:50px; text-align:center"> <form id="uploadForm" action="" method="post" enctype="multipart/form-data"> <input id="file" name="file" type="file"/> <a href="javascript:;" id="doUpload" class="easyui-linkbutton" οnclick="doUploadFile()" style="width:80px">上传</a> </form> </div>

    注:上面代码a标签样式是easyUI里的样式

    2.效果

    

二.改变后

    1.代码

<div style="margin-top:50px; text-align:center"> <form id="uploadForm" action="" method="post" enctype="multipart/form-data"> <input id="showPath" name="path" class="easyui-textbox" readonly="true" style="width:250px"/> <a href="javascript:;" class="easyui-linkbutton" style="position:relative;">浏览... <input id="file" name="file" type="file" style="opacity:0; filter:alpha(opacity=0); position:absolute; top:2px; right:0px" /> </a> <a href="javascript:;" id="doUpload" class="easyui-linkbutton" οnclick="doUploadFile()" style="width:80px">上传</a> </form> </div>

    2.效果

    

三.改变样式原理

    将上传表单放进a标签内

    然后相对定位

    最后让上传表单变为全透明

    展示路径放进一个只读表单内

四.后续

    1.上传表单发生change事件后,将上传表单value赋值给只读表单,展示路径

    2.只读表单内不会显示真实路径,而是显示“C:\\fakepath\\+文件名”

    解决办法:js中将“C:\\fakepath\\”替换为空字符串

    3.上传表单发生change事件后,需要重新绑定change事件

 

转载请注明原文地址: https://www.6miu.com/read-2625026.html

最新回复(0)