首先判断是否选择图片以及图片类型:
function CheckFile(obj) {
var array = new Array('jpeg', 'png', 'jpg'); //可以上传的文件类型if (obj.val() == '') {
$.messager.alert("操作提示", "让选择要上传的图片");
return false;
}
else {
var fileContentType = obj.val().match(/^(.*)(\.)(.{1,8})$/)[3]; //这个文件类型正则很有用:)
var isExists = false;
for (var i in array) {
if (fileContentType.toLowerCase() == array[i].toLowerCase()) {
isExists = true;
return true;
}
}
if (isExists == false) {
$.messager.alert("操作提示", "上传图片类型不正确");
return false;
}
return false;
}
}
然后定义一个隐藏的iframe:
<iframe style="display:none" name='hidden_frame' id="hidden_frame"></iframe>
js提交:
$("#form_" + row.autobh).attr('action', url);
$("#form_" + row.autobh).attr('target', 'hidden_frame');//这是关键。target=hidden_frame
$("#form_" + row.autobh).attr('method', 'post');
$("#form_" + row.autobh).submit();
传到后台,然后返回,调用前台的callback:
return Content("<script>parent.callback('图片上传成功!',true)</script>");
前台callback:
function callback(message, success) {
if (success == false) {
$.messager.alert("操作提示", message);
}
else {
$.messager.alert("操作提示", message);
}
}
parent.callback的解释:
当前页面的父页面
比如:
a.aspx 的html代码:
<iframe src='b.aspx' />
你的代码在b.aspx
然后b.aspx页面就执行js调用a.aspx页面的uploadCallback方法