表单提交上传文件前的验证
上传文件已经ok,ajax对文件上传前的验证,验证的内容为:
1.首先判断文件是否为空,为空则提醒选择文件;
2.如果不为空得到文件名,通过ajax传到后台,根据文件名来查询文件,判断文件是否存在,*如果存在就提示是否要替换此文件,**点击是就重新上传,将原文件覆盖;**点击取消则不会覆盖原文件。
需求就是上面所述,提示消息是否替换的时候点击确定,就是执行不了覆盖,如果上传的文件数据库里没有就可以正常上传,前太代码如下,那位高手指点一下,在线等...谢谢了
jquery代码:
//文件上传前的验证
function check(){
var file=document.getElementById("myFile").value;
var wid=document.getElementById("workflowId").value;
var arr=new Array();
arr=file.split('\\');
var name=arr[arr.length-1];
if(file==""){
top.Dialog.alert("请选择需要上传的文件!");
return false;
}else{
var okk=false;
$.ajax({
type:"post",
async:false,
url:"yanZhengWenDang.action?dt="+new Date().getTime(),
data:{"wjm":name,"wid":wid},
success:function(data){
if(data.ok){
//判断是否要替换
top.Dialog.confirm("该文件名已经存在,是否要替换?",function funcOK(){
okk=true;},function funcCal(){okk=false;});
}else{
okk=true;
}
},
dataType:"json"
});
return okk;
}
}
表单上传文件的前台代码:
<!-- 表单上传文件! -->
<s:if test="ok">
<div id="uf" style="text-align: center;">
<form action="uploadworkflowfile.action"enctype="multipart/form-data" method="post" onsubmit="return check()">
<font style="font-weight: bold;"> 文件上传: </font>
<input type="hidden" id="workflowId" value="${workflow.id }" name="workflowId"/>
<input type="file" id="myFile" name="myFile"/>
<input type="submit" value="上传"/>
</form>
</div>
</s:if>
JavaScript Ajax jQuery
[解决办法]
额,还没明白?你用我上面给你写的代码就OK
直接处理onsubmit会有点麻烦,你就把提交按钮type设置为button添加个onclick事件在那里校验
然后在校验里再去用ajax去后台校验是否已有同名文件,根据结果返回给reback方法
在reback方法里判断返回的结果,如果有同名文件就弹出提示框让用户选择覆盖与否,如果没有就直接提交表单
我在3L给你写的够详细了,你仔细看看就明白了