iframe里面提交表单页面跳转问题
2016-03-31 16:41
337 查看
ie7下利用iframe异步上传文件时name属性的问题
问题描述:
在使用iframe方式异步上传文件时,ie7对name属性的处理有些不同,如果采用先创建iframe,再使用setAttribute方法添加name属性的方式,form提交数据返回时会找不到iframe,从而会新打开一个页面。
ie7下会失败的例子:
有两种方法可以解决这个问题。
首先,不能使用setAttribute方法来设置name属性;
然后,
1. 用这种方式创建iframe
这种方式ie9以下可用。
2. 创建完iframe之后通过这种方式添加name属性
这种方法所有浏览器都可用。
转自http://www.cnblogs.com/zhaoran/archive/2013/05/23/3094951.html
问题描述:
在使用iframe方式异步上传文件时,ie7对name属性的处理有些不同,如果采用先创建iframe,再使用setAttribute方法添加name属性的方式,form提交数据返回时会找不到iframe,从而会新打开一个页面。
ie7下会失败的例子:
var iframe = document.createElement('iframe'); iframe.setAttribute('id', 'IframeNode'); iframe.setAttribute('name', 'IframeNode'); iframe.style.display = 'none'; document.body.appendChild(iframe); iframe.onload = function(){ document.getElementById('Result').innerHTML = iframe.contentWindow.document.body.innerHTML; } var form = document.getElementById('Form'); form.target = 'IframeNode', form.action = '/php/create_iframe.php'; form.submit();
有两种方法可以解决这个问题。
首先,不能使用setAttribute方法来设置name属性;
然后,
1. 用这种方式创建iframe
var iframe = document.createElement('<iframe name="IframeNode"></iframe>');
这种方式ie9以下可用。
2. 创建完iframe之后通过这种方式添加name属性
iframe.contentWindow.name = 'IframeNode';
这种方法所有浏览器都可用。
转自http://www.cnblogs.com/zhaoran/archive/2013/05/23/3094951.html
相关文章推荐
- 最频繁执行的存储过程,执行次数最多的存储过程
- vb2
- 【BZOJ1016】[JSOI2008]最小生成树计数【最小生成树】【搜索】
- 迭代器和算法
- Spring Bean 创建过程
- IOS UI学习教程之使用代码创建button
- 摆出十五个数
- Dubbo学习(七):服务的升级和降级
- adb logcat命令查看 log
- Java解决火狐浏览器使用uploadify上传报错302以及报IO error错问题
- 我的主人是二货
- ViewPager加载多图时避免OOM
- Java中的wait()方法与notify(),notifyAll()方法
- IIS7多域名绑定同一物理目录,设置不同默认文档的解决方案
- Behind the 3D scenes - part1
- vb
- 安装、使用maven的一系列博客
- Web必知必会Cookie与Session
- 在sqlserver中查询注释的函数
- IOS的学习笔记之Objective-C style guide.