最近写了个上传图片的功能 但发现上传成功后当前页面会刷新,上传的操作界面会消失,后通过如下方法 ,停留在选择图片的界面:
<div id="Div_UpdateImg">
<form method="post" enctype="multipart/form-data" action="UpdateImg" target="ajaxFrame">
<input id="" name="Stationid_img" type="hidden" />
<input id="" name="Stationtype_img" type="hidden" />
<input id="UpImg" name="UpImg" type="file" style="width: 240px;" accept=".jpg,.jpeg,.png,.gif" />
<input id="" type="submit" value="上传" style="width: 60px;" οnclick="return checkImgFile()" />
<a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-cancel" οnclick="CloseWin()">关闭</a>
</form>
<iframe name="ajaxFrame" style="display: none;"></iframe>
</div>
通过 target="ajaxFrame" 的返回事件 打开一个无影响的ifame 来实现停留当前页面。
但之后又有问题,图片上传成功后,怎么关闭这个选择图片的操作界面呢,一般的如果是Jquery 的AJAX提交数据后可在 success(){}事件里写关闭窗口的js代码。但form表单的上传文件成功后会哪什么反馈,我不清楚,后来通过如下解决:
在“上传”的按钮js点击事件里:
function checkImgFile() {
var file = $('#UpImg').val();
if (!file) {
alert("请先选择图片!");
return false;
}
else {
setTimeout(CloseUpImg, 1500);
return true;
}
}
function CloseUpImg() {
$('#Div_UpdateImg').hide();
}
点上传后1.5s后关闭该窗口,算是个不是办法的办法。呵--------------------------------------------------