六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 33|回复: 0

伪ajax方式提交带文件上传的表单

[复制链接]

升级  36%

30

主题

30

主题

30

主题

秀才

Rank: 2

积分
104
 楼主| 发表于 2013-1-29 10:57:29 | 显示全部楼层 |阅读模式
       
       在ajax还没有流行起来的时候,因为表单使用form的action进行页面跳转提交,所以不存在什么问题。

        自从ajax流行起来之后,一般的表单都是通过ajax方式提交,所以碰到带文件上传的表单就比较麻烦。后来在网上查了一下,基本都没有比较好的解决办法,所以还是对这种特殊的表单使用页面跳转方式提交。最近看到同事用一种伪ajax方式解决了此问题。其基本原理就是在页面增加一个隐藏iframe,然后通过ajax提交除文件之外的表单数据,在表单数据提交成功之后的回调函数中,通过form单独提交文件,而这个提交文件的form的target就指向前述隐藏的iframe。代码如下(注意form的target属性指向隐藏的iframe):
 
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;"><form style="padding:0px;margin:0px;" target="upload" action="/xxx/xx.do" id="uploadForm" name="uploadForm" encType="multipart/form-data" method="post">
                 
<input  type="file" id=""attachFile/>
</form>

<iframe name="upload" style="display:none"></iframe>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表