js文件的添加:
<%@ include file="../../js/file/fileAddM.js"%>
var keyId = dojo.byId("keyId").value;
var fkType = "files.task.file";
var filePath = "files/task/file";;
var isOne = 'N';
var fileTdId = "addFileTd_files.task.file";
var fileBtnId = "addFileBtn_" + fkType;
var fileTdEle = dojo.byId(fileTdId);
var src = "<%=path%>/measure/task/file/addIframe.jsp";
var query = "";
var addFileBtn = new dijit.form.Button({
id: fileBtnId,
label: '上传文件',
onClick: function (){
//alert(keyId);
//alert(fileTdEle);
addFile(keyId, fkType, isOne, filePath, src, fileTdId, fileBtnId, query);
}
})
fileTdEle.appendChild(addFileBtn.domNode);
<td class='tdLabel'>
<label for='addFileTd_files.task.file'>附件:</label>
</td>
<td colspan='3' id='addFileTd_files.task.file'></td>
fileAddM.js文件
<script type="text/javascript">
//多个文件的上传,通过打开模态对话框
var count = 0;
var fileItem;
function addFile(fkId, fkType, isOne, filePath, src, addFileTdId, addFileBtnId){
//====html中一些元素的ID
var isOneFile = 'Y';//默认是单个文件,即只能上传一次
if(isOne && isOne != undefined){
isOneFile = isOne;
}
//如果是单个文件上传,则当文件上传成功后,将 出现一个超链接,一个’删除‘按钮
if(isOneFile == 'Y'){
var deleteBtnId = 'deleteBtn' + fkType;
var fileDownloadAId = 'fileDownloadA' + fkType;
var deleteBtnLabel = '\u5220\u9664/\u91cd\u65b0\u4e0a\u4f20';//删除/重新上传
}else{
//如果是多个文件上传,则当文件上传成功后,将 出现一个’继续上传‘按钮、一个超链接,一个’删除‘按钮;
count ++;
var deleteBtnId = 'deleteBtn' + fkType + count;
var fileDownloadAId = 'fileDownloadA' + fkType + count;
var deleteBtnLabel = '删除';//删除
}
var query;
var dialog;
if(dojo.isIE){
query = 'fkId=' + fkId + '&fkType=' + fkType + '&filePath=' + filePath + '&isModal=Y';
src = encodeURI( src + '?' + query);
dialog = require.toUrl(src);
fileItem = window.showModalDialog(dialog, window,'dialogWidth=900px;dialogHeight=300px;center=yes;resizable=yes;scroll=yes;center=yes');
}else{//针对chromewindow.showModalDialog不好使的情况的解决办法
query = 'fkId=' + fkId + '&fkType=' + fkType + '&filePath=' + filePath + '&isModal=N';
src = encodeURI( src + '?' + query);
dialog = require.toUrl(src);
window.open(dialog, window,'width=900px,height=300px,resizable=yes,scroll=yes,center=yes');
}
if(fileItem != null){
var fileId = fileItem.fileId;
var fileName = fileItem.fileName;
var postfix = fileItem.postfix;
var tdEle = dojo.byId(addFileTdId);
//当只是一个文件时,把这个上传的按钮去掉
if(isOneFile == 'Y'){
var addFileBtn = dijit.byId(addFileBtnId);
if(addFileBtn){
addFileBtn.destroyRecursive();
}
}
var aEle = document.createElement('a');
tdEle.appendChild(aEle);
var url = '<%=path%>/measure/doc/fileDownloadAction.action?fileId=' + fileId;
aEle.setAttribute('id', fileDownloadAId);
aEle.setAttribute('href', url);
aEle.setAttribute('title', '\u4e0b\u8f7d\u6587\u4ef6');//点击下载文件
aEle.appendChild(document.createTextNode(fileName+postfix));
//----先Destroy button
var btnOld = dijit.byId(deleteBtnId);
if(btnOld){
btnOld.destroyRecursive();
}
var deleteBtn = new dijit.form.Button({
id: deleteBtnId,
label: deleteBtnLabel,
onClick: function (){
//1.先删除文件
//===
var query = 'fileId=' + fileId;
dojo.xhrPost({
postData : query,
url : '<%=path%>/measure/doc/fileDeleteAction.action',
handleAs : 'json',
load : function(response){
var json = response;
if(json == null){
return;
}
var result = json.result;
if(result == 'success'){
//2.再在界面上显示,删除A即已经上传的文件的链接显示部分
var tdEle = dojo.byId(addFileTdId);
var aEle = dojo.byId(fileDownloadAId);
tdEle.removeChild(aEle);
if(isOneFile == 'Y'){
var addFileBtn = dijit.byId(addFileBtnId);
if(addFileBtn){
addFileBtn.destroyRecursive();
}
var addFileBtnNew = new dijit.form.Button({
id: addFileBtnId,
label: '\u4e0a\u4f20\u6587\u4ef6',//上传文件
onClick: function (){
addFile(fkId, fkType, 'Y', filePath, src, addFileTdId, addFileBtnId);
}
})
tdEle.appendChild(addFileBtnNew.domNode);
}
//3.删除自己
deleteBtn.destroyRecursive();
}else{
alert(json.info);
}
}
});
//====
}
})
tdEle.appendChild(deleteBtn.domNode);
//tdEle.appendChild(document.createTextNode(" | "));
}
}
</script>