实现单文件上传,页面不刷新
1.html
action=fjfileinsert.action onsubmit=return check() target=fjuploadiframe>
fjfileinsert.action执行文件上传,然后返回数据到upload.html页面,upload.html页面在iframe中隐藏起来
当执行完毕,iframe会重新加载,这时触发iframe的onload事件,在onload事件中,处理一些后续的操作
2.upload.html
3.js
//防止在第一次触发iframe的onload事件
var doflag = false;
//判断是否选择了需要上传的文件
function check(){
var file=document.forms[fjuploadform].doc;
if(file.value==){
alert(请选择要上传的文件!);
file.focus();
return false;
}
doflag = true;
return true;
}
//文件上传完毕后,触发iframe的onload事件,根据返回值,做一些后续的处理
function iframeonload(){
if(doflag){
var doc = window.frames[fjuploadiframe].document;
var text = doc.getelementbyid(result).value;
var arr = text.split(',');
var msg = arr[0];
if(msg == 1){
alert(附件上传成功!);
addli(fj,arr[1],arr[2])
}else if(msg == 2){
alert(上传的最大限制为[50mb]!\r\n上传失败!);
}else if(msg==3){
alert(上传的文件不存在,或文件输入格式有误!\r\n上传失败!);
}
else if(msg==4){
alert(上传的文件小于0kb,为空文件,请从新选择!);
}
doflag = false;
}
}
//getcontent.action实现文件的下载
function addli(targetid,id,name){
$(#+targetid).append(
+name+);
} function detr(obj){
$(obj).parent().parent().remove();
}