HTML:
实现点击【导入】按钮就能够上传文件,代码如下:
<a oppower="Export|导出" class="btn btn-default" iconcls="icon-reload" id="btnExport" group="" onClick="" style="margin-left:4px;"><span class="l-btn-left l-btn-icon-left"><span class="iconfont icon-export"> </span><span class="l-btn-text">导出</span></span></a>
<div style="float:left"><form action="需要调用的后台方法" method="post" enctype="multipart/form-data" target="hiddenIFrame"><input type="file" id="flowXls" style="display:none" name="uploadFile" οnchange="this.form.submit()" /><a oppower="Clear|导入" class="btn btn-default" iconcls="icon-no" id="btnClear" group="" onClick="import()"><span class="l-btn-left l-btn-icon-left"><span class="iconfont icon-import"> </span><span class="l-btn-text">导入</span></span></a></form></div>
<iframe id='hiddenIFrame' name='hiddenIFrame' style="display:none;"></iframe>
需要隐藏file类型input控件,设置属性display:none。另外,导入按钮需要绑定事件onClick=“import()”实现弹出选择对话框。
获取返回值:form添加target属性
PS: <span class="iconfont icon-import"> </span> 实现从iconfont库选择图标,加载图标。
js:
function import()
{
var fileDialog = $("#flowXls");
fileDialog.change(function(event){
//var name = document.getElementById("flowXls").value;
})
fileDialog.click();
}
获取返回值判断是否传输成功:
$(function(){
$("#hiddenIFrame").load(function(){
var wnd = this.contentWindow;
var str = $(wnd.document.body).html();
callback(str);
});
})
function callback(info){
if(info=="success")
{
$("#myModal").modal("hide");
var contentdiv=document.getElementById("modalcontent");
var content="文件导入成功!";
contentdiv.innerHTML=content;
$("#myModal").modal("show");
}
else if(info=="error")
{
$("#myModal").modal("hide");
var contentdiv=document.getElementById("modalcontent");
var content="文件导入失败!";
contentdiv.innerHTML=content;
$("#myModal").modal("show");
}
else if(info=="repeat")
{
$("#myModal").modal("hide");
var contentdiv=document.getElementById("modalcontent");
var content="数据重复!";
contentdiv.innerHTML=content;
$("#myModal").modal("show");
}
}