【发布时间】:2015-04-19 10:16:56
【问题描述】:
我正在使用下面的 HTML 代码来实现文件上传
<span class="fileinput-button uploadBtn" id="btnUploadFile"><span>Add files</span><input id="fileupload" type="file" name="files[]" ></span>
是的.. 单击“添加文件”按钮时效果很好。但我的问题是,当单击页面上可用的任何带有 type="button" 的输入元素时,它就像一个文件上传器元素
例如:
<input type="button" id="btnDownLoad" value="Download" onclick="blah();" />
<span class="fileinput-button uploadBtn" id="btnUploadFile"><span>Add files</span><input id="fileupload" type="file" name="files[]" ></span>
如果我同时单击两个按钮,文件对话框将打开。我已经提到了 jquery.fileupload.css 的 css
.fileinput-button {
position: relative;
overflow: hidden;
}
.fileinput-button input { // if i remove this block, other buttons didnt trigger file upload dialog. but i lost style
position: absolute;
top: 0;
right: 0;
margin: 0;
opacity: 0;
-ms-filter: 'alpha(opacity=0)';
font-size: 200px;
direction: ltr;
cursor: pointer;
}
/* Fixes for IE < 8 */
@media screen\9 {
.fileinput-button input {
filter: alpha(opacity=0);
font-size: 100%;
height: 100%;
}
脚本:
$("#btnUploadFile").click(function () {
Upload();
});
function Upload() {
$('#fileupload').fileupload({
dataType: 'json',
url: '/Common/UploadFiles',
autoUpload: true,
done: function (e, data) {
alert("Upload Successfully Done");
}
}
如何避免这些问题?
仅当单击“btnUploadFile”按钮时,应触发文件对话框
如果我删除 jquery.fileupload.css 中的 css 块,我就失去了我的风格。它看起来像一个带有浏览按钮的简单文本框。那么我该如何修复它的样式。
【问题讨论】:
标签: javascript jquery html css file-upload