使文件输入成为一个href
make file input an href
我需要隐藏一个输入,这样我看起来就像是在点击一个常规的自定义按钮并启动一个输入类型"file"。我看了几个例子,并使用了我看到的内容,但由于某种原因,我无法启动<a>
标记。我错过了什么?
HTML:
<input id="ad-docs[]" type="file" name="ad-docs[]" multiple="multiple" style="display:none;"/>
<a id="upload_link" class="button-link button-link-blue">BROWSE</a>
JS:
$("#upload_link").click(function(){
$("#ad-docs[]").click();
});
选择器中有一些无效字符->[]
您可以通过为ID使用jQuery Attribute Equals Selector来避免这个问题,比如这个
$("[id='ad-docs[]']").click();
您可以使用CSS来实现这一点,并且使用z索引和不透明度应该能够实现这一目标。
样本代码
HTML
<div id="container">
<input type="file" id="txtFile" />
<button id="btnFile">
Click me
</button>
</div>
CSS
#container {
positin: relative;
}
#txtFile {
position: absolute;
z-index: 50;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
/* IE 5-7 */
filter: alpha(opacity=0);
/* Netscape */
-moz-opacity: 0;
/* Safari 1.x */
-khtml-opacity: 0;
/* Good browsers */
opacity: 0;
}
#btnFile {
position: absolute;
top: 0;
left: 0;
z-index: 20;
}
JSFIDDLE
如果我理解正确,您希望隐藏文件输入并通过"更好"按钮控制它。试试这个:
html
<span class="btn-file">
<span>Click to select or simply drag and drop files here...</span>
<input type="file" id="files" required multiple>
</span>
css
.btn-file {
position: relative;
overflow: hidden;
height: 4em;
}
.btn-file input[type=file] {
position: absolute;
top: 0;
right: 0;
min-width: 100%;
min-height: 100%;
font-size: 100px;
text-align: right;
filter: alpha(opacity=0);
opacity: 0;
outline: none;
background: white;
cursor: inherit;
display: block;
}
相关文章:
- CSS 在悬停时使图像变暗 - 在其周围添加一个 href
- 使用 Javascript 在运行时禁用<一个 href>
- 如何从一个 HREF 填充多个输入字段
- 将现有单选按钮更改为 <一个 href>
- 如何使用 JavaScript 单击一个 href 后编辑 3 个标签的值
- 返回值从 Javascript 到 HTML <一个 href> 标记
- 与号(&)在 DOM 中不转义会生成一个 href
- 使用php变量+javascript变量创建一个href-url
- <一个 href=#> 重定向到索引的链接..php
- 使文件输入成为一个href
- 带有javascript递增url的下一个/上一个href按钮
- 在 Echo 语句中插入一个 href
- 用jquery在一个href值的末尾添加
- 如何防止默认和禁用一个href
- 一个href click或onclick 2个动作(两个或更多函数)
- 如何循环遍历一个href's列表
- 如何通过jquery .html创建一个href,然后使用它的事件
- 向javascript代码中添加一个href类
- 选择一个href="#"打开父母李
- 如何使一个链接记住它的价值作为一个href之前转移到下一页中使用