<div id="fileuploadbox">
<form action="${ctx}/itemPortrait.do?method=attachSave&prj_id=${bean.prj_id}&flag=222" method="post" target="tg" enctype="multipart/form-data">
<input type="file" name="fileUpload" />
<input type="submit" value="上传文件" />
</form>
<iframe name="tg" id="tg" style="display: none;"></iframe> //定义一个隐藏iframe用来跳转,上面form自动target到iframe来
</div>
$(function(){
$("#tg").load(function(){
var tempText=$(this);
var returnJson=tempText[0].contentDocument.body.textContent; //从后台传过来的数据,拿到就可以做相应的业务代码了
if (returnJson........) ......//业务逻辑
})
})
注意 获得$("#tg").load 相当于对iframe绑定了加载方法,每次加载的时候都要进行执行。
$("#tg").load(function(){
var tempText=$(this);
var returnJson=tempText[0].contentDocument.body.textContent;
if(returnJson.indexOf("成功")!=-1){
$.messager.alert("提示","文件上传成功");
var mytablerow = $("#mytable").datagrid("getSelected")
$("#table_equipmentData").datagrid("reload",{
id : mytablerow.id,
});
var file = document.getElementById('equipmentData');
$("#tg").unbind("load");
}else{
$.messager.alert("提示","文件上传失败");
$("#tg").unbind("load");
}
})
最好在最后执行完后,解绑方法,并在每一次加载时绑定方法。