解决input file,实现点击文字上传文件
2014-05-08 20:55
246 查看
需求: 点击文字“资料提交”,实现文件上传
难点: input本身的file样式,文字无法修改
点击文字触发input的click事件是不行的
解决: 将input和文字通过定位,使得input和文字重合
将input设置为透明,若input在文字前还的加上z-index:100,使得input在文字之上,这样当点击文字,也就是他们重合区域就可文件上传了
input在文字之后,无须设置z-index
<span>
<a>
<img src="../edit.gif" id="edit">
<span>资料提交</span>
<input style="cursor:pointer; height:20px; width:68px;margin-left:-78px; filter:alpha(opacity=0); opacity:0; onchange="submit(.....)"/>
</a>
</span>
注意:此种未通过绝对定位的input,虽然ie9-ie11都可以成功双传,但是ie8却不行,通过F12Dom元素查看,input也和文字重合了,如果再加上z-index:100,仍然不 能上传。。。
绝对定位后,为了适应各个浏览器,使两者始终完美重合,建议使用em或者百分比进行绝对定位
<span>
<a>
<img src="../edit.gif" id="edit">
<span>资料提交</span>
</a>
<input style="
position:absolute; right:7.5%; cursor:pointer; height:20px; width:68px;filter:alpha(opacity=0); opacity:0; onchange="submit(.....)"/>
</span>
index在文字之前,需加上z-index:100; 使得input处于文字上层
<span>
<input style="position: absolute; left: 47em; cursor:pointer; height: 20px; width: 68px; filter: alpha(opacity=0); opacity: 0; onchange="submit(.....)""/>
<a>
<img src="../edit.gif" id="edit">
<span>资料提交</span>
</a>
</span>
难点: input本身的file样式,文字无法修改
点击文字触发input的click事件是不行的
解决: 将input和文字通过定位,使得input和文字重合
将input设置为透明,若input在文字前还的加上z-index:100,使得input在文字之上,这样当点击文字,也就是他们重合区域就可文件上传了
input在文字之后,无须设置z-index
<span>
<a>
<img src="../edit.gif" id="edit">
<span>资料提交</span>
<input style="cursor:pointer; height:20px; width:68px;margin-left:-78px; filter:alpha(opacity=0); opacity:0; onchange="submit(.....)"/>
</a>
</span>
注意:此种未通过绝对定位的input,虽然ie9-ie11都可以成功双传,但是ie8却不行,通过F12Dom元素查看,input也和文字重合了,如果再加上z-index:100,仍然不 能上传。。。
绝对定位后,为了适应各个浏览器,使两者始终完美重合,建议使用em或者百分比进行绝对定位
<span>
<a>
<img src="../edit.gif" id="edit">
<span>资料提交</span>
</a>
<input style="
position:absolute; right:7.5%; cursor:pointer; height:20px; width:68px;filter:alpha(opacity=0); opacity:0; onchange="submit(.....)"/>
</span>
index在文字之前,需加上z-index:100; 使得input处于文字上层
<span>
<input style="position: absolute; left: 47em; cursor:pointer; height: 20px; width: 68px; filter: alpha(opacity=0); opacity: 0; onchange="submit(.....)""/>
<a>
<img src="../edit.gif" id="edit">
<span>资料提交</span>
</a>
</span>
相关文章推荐
- 在IE中必须点击input file 控件的浏览按钮才能提交上传,否则没有权限 。js文件报拒绝访问,解决办法是将input file控件定位到你要点击的地方 ,并且input file做成透明的
- 解决<input type=“file” multiple> 多文件上传问题(可以多次选取文件,也可以一次选取多个文件),而且点击的是一个同一个div
- 如何点击a标签实现弹出input file上传文件对话框
- 同时实现文件上传input type =file和文本input type=text
- input file实现多选和限制文件上传类型
- 如何让file input能够实现置空和【异步】上传后相同文件的再次选择触发change
- input type=file 只读,并能实现文件上传
- Bootstrap的fileinput插件实现多文件上传的方法
- IE input file隐藏不能上传文件解决方法
- asp.net/c# 用<input type="file" />实现文件上传,multipart/form-data
- js 实现 <input type="file" /> 文件上传
- 基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽)
- SpringMVC实现多文件上传+bootstrap fileinput的使用
- 使用<input type="file">实现文件上传
- [置顶] js 实现 <input type="file" /> 文件上传
- 解决JS(Vue)input[type='file'] change事件无法上传相同文件的问题
- inputfile(bootstrap)实现文件上传保存本地路径
- ajaxfileupload 隐藏input file组件上传文件的两种实现
- 使用trigger方式实现不用点击file类型的input弹出文件选择对话框
- input file实现多次上传文件(不会覆盖上次上传的文件)