最近给一个报表新增附近上传下载的业务,原本以为不是很难,可就是遇到一个很无奈的问题。
期间检查发现了两个错误,如下
查了解决方案,网上大多是上传文件的配置文件,后台都有写。
下面附上前端写的部分jsp页面。如图:
页面提交代码:
smtForm : function(data){debugger;
var form = new mini.Form("#form1");
form.validate();
if (form.isValid() == false) return;
//2019-09-17 yh 校验:录入的时间不能早于【装车最后一票时间】,不能晚于系统当前时间。
var loadEnd = mini.get("LOADEND").getFormValue();
var endDate = mini.get("OPEREND").getFormValue();
var endDate1 = (mini.get("OPEREND").value).getTime();
var nowDate = new Date().getTime();
//alert(endDate1);
if(loadEnd>endDate){
mini.alert("操作结束时间不能早于【装车最后一票时间】");
//mini.get("OPEREND").setValue("");
e.isValid=false;
}
if(endDate1>nowDate){
mini.alert("操作结束时间不能晚于【系统当前时间】");
//mini.get("OPEREND").setValue("");
e.isValid=false;
}
//附件不能为空
var SAVE_ADDR = mini.get("SAVE_ADDR").getValue();
/* if(SAVE_ADDR ==""){
var file = $("#files")[0].value;
if(file ==""){
mini.alert("附件为必填项,不能为空。");
}
} */
$("#form1").ajaxSubmit({
success : function(data){
var data = eval("("+data+")");
mini.alert(data.msg,'提示信息',function(){
if(data.result){
if(window.CloseOwnerWindow) {
window.CloseOwnerWindow("close");
} else {
window.close();
}
}
});
}
});
}
采用的jquery.form.js
的ajaxSubmit
的表单提交请求。
通过页面调试,发现是jsp编写错误的原因,因为后台debug时,并没有到后台,于是在jsp页面找原因。然然而并没有找到哪里有什么不对。想了各种方案,最后想出一个解决办法。
给file标签增加一个div,有原附件的情况下,将这个file移除;若把原附件删除,需要重新上传文件,再显示出这个file,最后也确实解决这个问题了,但是还是想不出file为空为什么不能走通。。无奈。。。
如有大佬知道,还请指教,谢谢!