让a标签上传文件

最近项目中需要写一个功能,如图:我这边采用的结构是

<div class="select_file">

<a href="javascript:void(0);">选择文件</a>

<input type="file" unselectable="on" value="选择文件" />

</div>

css 就是将input标签透明的设置0,这样的话在点击a的时候同时可以触发到input[type=file]实现了点击的上传文件的效果。

.select_file{width: 168px;height: 43px;display: block;border-radius: 25px;margin-left: 60px;border: 1px solid #999999;overflow: hidden;position: relative;}

.select_file a{width: 100%;height: 43px;display: block;text-align: center;line-height: 43px;}

.select_file input{opacity: 0;filter:alpha(opacity=0);position: absolute;margin-top: -43px;width: 100%;height: 43px;z-index: 100;cursor: pointer;font-size: 100px\9;/*兼容ie input file 双击的问题*/}

ps: unselectable="on"   input file这个标签在IE下会有讨厌的闪烁的光标,用这个属性可以消除这个光标~

font-size: 100px\9;  在ie
下这个按钮是在右边的,而chrome是在左边的,用这个css 通过改变内置字体的大小,将框撑大,从而巧妙的将按钮变大,这样可以正常上传文件了,而且解决了ie 下需要双击才能上传文件的问题了~

网上还有一种这样的解决办法利用 JS

$(‘a‘).on(‘click‘, function(e) {
    e.preventDefault();
    $(this).closest(‘input[type=file]‘).trigger(‘click‘);
})

然而这个比较麻烦,实际在使用中,还没有成功。。。弃用了。。

?

时间: 2024-10-30 04:14:23

让a标签上传文件的相关文章

struts2 File标签上传文件

1.action.class private File pictureType; private String pictureTypeContentType; private String pictureTypeFileName; public String editType() throws IOException{ Type t=typeService.find(Type.class, id); System.out.println("id="+id); System.out.pr

对于使用input标签上传文件的功能selenium的使用方法

from selenium import webdriveroption = webdriver.ChromeOptions()option.add_argument('--user-data-dir=C:/Users/Administrator/AppData\Local/Google/Chrome/User Data')driver = webdriver.Chrome(chrome_options=option)driver.get('https://www.cnblogs.com/')d

Selenium系列(十一) - 针对两种上传文件方式的实现方案

如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识,需要自己去补充哦,博主暂时没有总结(虽然我也会,所以我学selenium就不用复习前端了哈哈哈...) 首先,将下面html代码保存到一个文件中 后续第一种上传文件方式的代码小案例都是访问此html的 <!DOCTYPE html> <html lang="en">

上传文件——file标签深藏功与名

在Html标签中,<input type="file"/>是被用来上传文件的,但是这哥们儿在不同的浏览器下各有一副嘴脸,怎一个“别扭”了得.一直想解决这个头疼的问题,最近在读了一篇博文之后,忽然有了思路. 在上传文件时,<input type="file"/>是被放在一个form中,form既然要上传文件,一定是以post方式传输数据,enctype也要设置成multipart/form-data.如下: <form id="

html input file标签的上传文件 注意点

文件上传框  代码格式:<input type=“file” name=“...” size=“15” input enctype="multipart/form-data“ maxlength=“100”> 属性解释: 属性解释: type=“file”定义文件上传框: name属性定义文件上传框的名称,要保证数据的准确采 集,必须定义一个独一无二的名称: size属性定义文件上传框的宽度,单位是单个字符宽度: maxlength属性定义最多输入的字符数. 注意: 要使得文件上载能

二期项目总结(一) 通过a标签打开文件上传选择框,使用Ajax上传文件

很多时候我们会给a标签增加一个点击事件,用于上传文件.为什么不使用原滋原味的文本打开按钮呢?当然是不好看,而且样式难以控制. 这时候可以通过控制a标签,给它添加一个点击事件,在a标签触发点击事件的时候打开文本选择框,就很好看了. 好了,现在来上思路: 先要给出一个a标签和文本选择的打开input,但是这个input的display要设置为none, 如下: <a id="uoloadA" onclick="ClickInput()">上传文件</a

上传文件 隐藏input type=&quot;file&quot;,用其它标签实现

html: <a id="js-load-diagram" title="导入BPMN文件" onclick="bpmnFile.click()"> 上传文件 <input type="file" id="bpmnFile" style="display:none"> </a> js: $('#bpmnFile').on('change', funct

通过jQuery Ajax使用FormData对象上传文件

转自:http://www.cnblogs.com/labnizejuly/p/5588444.html FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". <form id="uploadForm" enctype="multipart/form-data"> <input id="file" type="file"

(转载)burpsuit 突破上传文件限制

1.运行Burp site,点击Proxy标签,确认Options选项卡下,Proxy listeners的running运行正常(勾选状态为运行),如果端口打开失败,可能的原因是有程序占用了该端口,点击edit,在local listener port:输入框输入一个未占用的端口,点击update即可.我这里将端口改为了8082 2.打开http://192.168.8.120/test/upload_flash.asp?formname=myform&editname=bookpic&