最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
用jQuery创建iframe中name的几个问题
时间:2014-11-03 编辑:简简单单 来源:一聚教程网
尼玛上次做Upload.js的时候就发现了,由于没有记笔记导致今天还在这个问题上辗转了15分钟。。。妈蛋。。。
起因是用iframe+form来做上传功能,创建一个form>input来插入到body里,(ps:最好别插在你上传按钮dom的旁边,因为可能会出现form里套form,然后。。。),让input[type=file]的元素超大点,然后让form的width,heigth于你上传按钮的一致,然后定位吧少年。。。
再创建个iframe。。。
那么坑来了。。。
因为页面可能有多个这样的实例,你需要用guid来给每个实例打个标识,因为现在需要在提交form的时候提交到iframe里,从而模拟伟大的ajax... 那么form上的target要跟iframe的name相同。。。不要问为什么。。。本来是这么创建的:
代码如下 | 复制代码 |
$iframe = $(' |
但发现在IE7中无效,给我生成的name居然不叫name了。。。如图:
然后这样在提交的时候老是新窗口打开。。。于是要改创建iframe的代码。。。
代码如下 | 复制代码 |
$iframe = $('').appendTo($body); |
然后bug解决。。。
这样用户点的时候就等于直接点的input[type=file]。。。然后你自己绑定嫦娥(change)的时候提交到iframe里... 然后自己解析iframe里的contents().body()搞定...