`
smilelhh
  • 浏览: 3838 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

MVC下不打开新窗口实现文件上传

阅读更多
应该在很多地方都需要实现文件上传的功能,而且在大都用起了MVC,而文件上传时form又不能用ajax提交,FORM提交总是打开新的页面很是不爽,于是摸索了实现这个未弹新窗口实现文件上传的功能。好了,闲话不多说,直接干活。

1、首先当然是在页面包括Jquery控件了。
<script type="text/javascript" src="${ctx}/js/jquery.min.js"></script>

2、创建一个表单,实现文件上传界面。
<form target="hideWin" method="post" action="${ctx}/dams/upload.do" id="uploadform" enctype="multipart/form-data">
<input type="file" id="excel" name="excel" style="width:270px">
<input type=hidden id='stcd' name="stcd">
<input type=hidden id='clear' name="clear">
<br/>
<input type="checkbox" id="isclear" checked><label for="isclear">先清空数据</label>
</form>
        <input type=button id="upload" value="上传">
大家应该注意到了,FORM中加了target=hideWin,意思是告诉浏览器等会儿form提交到hideWin中,而不是新开窗口。至于action后台方法upload.do,这个就交给java后台好了。
3、创建一个名叫hideWin的iframe,隐藏就好。
<iframe id="hideWin" name="hideWin" style="display: none"></iframe>

4、接下来,要做最重要一步,就是如何提交form,提交好办,一个submit就OK了。
     $('#upload').click(function(){
var isclear = document.all.isclear.checked?"1":"0";
$('#uploadform').find('#stcd').val(stcd);
$('#clear').val(isclear);
var url = $('#excel').val();
if (url ==""){
$.messager.alert('提示','请选择要上传的EXCEL文件!');
return;
}
var point = url.lastIndexOf(".");  
var type = url.substr(point); 
if(type!='.xls'){
$.messager.alert('提示','请选择要上传的EXCEL文件!');
return;
};
$('#uploadform').submit();
});
5、最后就是接收后台upload.do方法的返回信息再做处理。但在iframe中接收返回信息可以累坏我了,这也是我记录下这个过程的最重要原因。当初还想用kindeditor的上传功能的,做是也做出来了,却发现它那个上传按钮挺怪异的,还有些地方IE不兼容,最终只好舍弃,自己找办法实现了。
       $("iframe[name=hideWin]").bind('load', function() {
var doc =this.contentDocument || this.contentWindow.document;
var data = $.parseJSON(doc.body.innerHTML);
if (data.error === 0){
//$.messager.alert('恭喜','文件已经上传!');
} else {
//alert(data.message);//打印出错信息
}
});

好了,就是这样,大功告成!
分享到:
评论

相关推荐

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包2

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包3

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包4

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java实现的FTP连接与数据浏览程序 1个目标文件 摘要:Java源码,网络相关,FTP Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 ...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java实现的FTP连接与数据浏览程序 1个目标文件 摘要:Java源码,网络相关,FTP Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 ...

    贤诚CMS v2.0.zip

    5、可以通过“打开方式”选项来改变导航菜单的打开方式是新窗口或者是父窗口打开。   四、自动内链: 注意:必须在网站设置栏将“内容内链开关”设置为开启状态,内链才会有效。 1、可以自定义内链的锚文本及...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    ASP.NET3.5从入门到精通

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView 和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML 控件 5.17 验证控件 5.17.1 表单验证...

    ASP.NET基础控件-教程

     打开新的窗口并传送参数  为按钮添加对话框  删除表格选定记录  删除表格记录警告  关于日期格式  表格超连接列传递参数  清空Cookie  获取错误信息并到指定页面  自定义异常处理  javascript小技巧  ...

    asp.net开发常用整理集合

     打开新的窗口并传送参数  为按钮添加对话框  删除表格选定记录  删除表格记录警告  关于日期格式  表格超连接列传递参数  清空Cookie  获取错误信息并到指定页面  自定义异常处理  javascript...

    ASP.NET 3.5 开发大全word课件

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件...

    ASP.NET 3.5 开发大全11-15

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件...

    ASP.NET 3.5 开发大全

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件...

    ASP.NET 3.5 开发大全1-5

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件...

    ASPNET35开发大全第一章

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件...

    asp.net知识库

    在ASP.NET 1.1下实现模板化站点的新思路 在ASP.Net中两种利用CSS实现多界面的方法 用于弹出ModalDialog进行数据选择的控件 使用.ashx文件处理IHttpHandler实现发送文本及二进制数据的方法 制作一个简单的多页Tab功能...

    50CMS 3.0.12

    全部移入Content文件夹(包括:验证码 弹出提示窗口 时间选择 这样便于2次开发中调用)应广大朋友要求,移除微软mvc功能 采用webconfig配置 urlrewrite 实现路由功能(回归2.0 老版)配置文件 数据库文件全部移入\App_...

Global site tag (gtag.js) - Google Analytics