实现单文件上传,页面局部刷新
2014-12-26 15:32
357 查看
实现单文件上传,页面不刷新
1.html
<form name="fjUploadForm" enctype="multipart/form-data" method="post"
action="fjFileInsert.action" onsubmit="return check()" target="fjUploadIFrame">
<input type="file" name="doc" value=""/>
<input type="submit" class="ybtn2" value="上传" />
</form>
<iframe id="fjUploadIFrame" name="fjUpload" style= "display:none" onload="iframeOnLoad();" ></iframe>
<ul id="fj" class="fileList">
</ul>
fjFileInsert.action执行文件上传,然后返回数据到upLoad.html页面,upLoad.html页面在iframe中隐藏起来
当执行完毕,iframe会重新加载,这时触发iframe的onload事件,在onload事件中,处理一些后续的操作
2.upLoad.html
<input id="result" name="result" value="${model.message?default('')},${model.id?default('')},${model.fileName?default('')}"></input>
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("<li><input type='hidden' value='"+id+"'><input type='hidden' value='"+name+"'><a href='${base}/getContent.action?id="+id+"' class='btn'>"+name+"</a><img src='page8/images/icon/del.gif' onclick='delFj(this);'/></li>");
}
function deTr(obj){
$(obj).parent().parent().remove();
}
1.html
<form name="fjUploadForm" enctype="multipart/form-data" method="post"
action="fjFileInsert.action" onsubmit="return check()" target="fjUploadIFrame">
<input type="file" name="doc" value=""/>
<input type="submit" class="ybtn2" value="上传" />
</form>
<iframe id="fjUploadIFrame" name="fjUpload" style= "display:none" onload="iframeOnLoad();" ></iframe>
<ul id="fj" class="fileList">
</ul>
fjFileInsert.action执行文件上传,然后返回数据到upLoad.html页面,upLoad.html页面在iframe中隐藏起来
当执行完毕,iframe会重新加载,这时触发iframe的onload事件,在onload事件中,处理一些后续的操作
2.upLoad.html
<input id="result" name="result" value="${model.message?default('')},${model.id?default('')},${model.fileName?default('')}"></input>
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("<li><input type='hidden' value='"+id+"'><input type='hidden' value='"+name+"'><a href='${base}/getContent.action?id="+id+"' class='btn'>"+name+"</a><img src='page8/images/icon/del.gif' onclick='delFj(this);'/></li>");
}
function deTr(obj){
$(obj).parent().parent().remove();
}
相关文章推荐
- struts2通过FromData+ajax实现文件上传(页面无刷新)
- iframe实现局部刷新和回调-- 文件上传
- 非Ajax实现无刷新页面文件上传
- PHP+iFrame实现页面无需刷新的异步文件上传
- fileloder.js+struts2实现文件异步上传,无页面刷新效果。
- iframe实现无刷新上传文件并在当前页面返回数据php处理方式
- 关于PHP+iFrame实现页面无需刷新的异步文件上传
- PHP 实现页面无刷新上传文件
- 利用JQUERY AJAX上传文件。重点是实现不刷新页面
- PHP+iFrame实现页面无需刷新的异步文件上传
- 用FormData实现无刷新页面异步上传文件
- iframe方法实现表单文件上传,页面无刷新
- 文件上传之二利用frame实现无页面刷新的文件上传
- php无刷新利用iframe实现页面无刷新上传文件(1/2)
- 实现Web页面中级联菜单的设计/实现动态加载列表框/实现自动刷新页面/实现Web页面的局部动态更新/实现自动完成功能
- 为ASP.NET MVC开发一些常用插件(二)—— 实现无刷新文件上传
- Javascript与asp.net 实现Ajax多文件无刷新上传
- 无刷新上传文件以及类Gmail附件添加方式的实现
- jsp无刷新文件上传的实现
- Ajax 实现页面局部刷新