设置iframe内表单target属性以兼容IE、Firefox【转载】

2011年11月19日 haibor 
 
 
 

今天有客户反应,在一产品网站的资源下载页面,用户登录提交后页面无反应!

经测试,Firefox下正常,IE下无反应!IE还真是腼腆,都点提交了,还无反应!!!

查看代码,发现登录表单及登录后显示的资源列表均由一个 iframe 框架加载,这里做个情境假设:表单文件为 A.asp,前端iframe文件为 B.asp。

A.asp 表单内容为:

<form name="down_form" action="a.asp" method="post">
    姓名:<input type="text" name="username" size=20>
    单号:<input type="text" name="password" size=20>
    <input type="submit" value="登 陆" />
</form>

B.asp 页面内容为:

<iframe id="downlist" src="http://xxx.com/A.asp"></iframe>

如此,访问 B.asp 页面操作登录时,IE浏览器下无反应,Firefox正常登录并返回下载列表!解决办法也很简单:

1、在 A.asp 页面的 <form > 部分,添加 target 代码,注意红色的 downlist,要与 iframe 的ID和name一致:

<form name="down_form" action="a.asp" method="post" target="downlist">

2、B.asp页面中 iframe 标签要求 id与name标签都要添加!完整如下:

<iframe id="downlist" name="downlist" src="http://xxx.com/A.asp"></iframe>

分享一些兼容性的示例代码:

<form  action="http://www.baidu.com" method="post" id="form_box" >
    <input type="submit" value="submit"/>
</form>
<iframe id="loginIframe" width="300" height="300"></iframe>
 
<script language="javascript">
    var _form=document.getElementById("form_box");
    _form.setAttribute("target","loginIframe");
</script>

IE:点击“submit”提交之后,form表单并未按照预想提交到“loginIframe”这个iframe中。

FF:点击“submit”提交之后,form表单按照预想提交到“loginIframe”这个iframe中。

解决此兼容问题: 在iframe中增加name属性即name=“loginIframe”

<iframe id="loginIframe" name="loginIframe" width="300" height="300"></iframe>

设置iframe内表单target属性以兼容IE、Firefox【转载】的更多相关文章

  1. .NET开源工作流RoadFlow-表单设计-新建表单(属性设置)

    点击表单设计工具栏上的 新建表单 按钮会弹出新表单属性设置框: 表单名称:新表单表名称. 数据连接:表单对应的数据库连接(此连接在 系统管理-->数据库连接 中维护). 数据表:表单对应的数据库 ...

  2. .NET前后台-JS获取/设置iframe内对象元素并进行数据处理

    转载请注明出处:果冻栋吖 这个主要是修改H3BPM一个批量审批的功能时候做的.先看下图: H3自带了批量审批的功能,也就是按钮1,有审批意见3,但是如果3里边不填写内容点击1之后,效果就是表单里边没有 ...

  3. iframe+form表单提交数据

    <h6>基于iframe+Form表单</h6> <iframe id="iframe" name="ifra" onclick= ...

  4. HTML5表单新属性

    HTML5表单新属性 autofocus  自动聚焦 <input type="text" autofocus> placeholder占位文本 tel         ...

  5. html/form表单常用属性认识

    1.form表单常用属性练习 <style> .form1 { margin: auto; height: 900px; width: 500px; text-align: center; ...

  6. HTML表单__表单元素属性

    看完"HTML表单__表单元素"那一节的同学会发现,同是input标签,type属性值不一样的时候,input类型完全不一样.type就是input的一个属性,除type之外,还有 ...

  7. form表单的属性标签

    form表单的常用标签 表单: <form id="" name="" method="post/get" action=" ...

  8. HTML5 表单新增属性

    1. 表单内元素的form属性 在H5中可以把form放到页面的任何地方,然后为该元素指定一个form属性,属性值为该表单的id,这样就可以声明该元素从属于指定表单了 <form id=&quo ...

  9. form表单target的用法,实现无刷新提交页面

    form表单的target,当将iframe设置为隐藏时,可以实现当前页表单提交而不进行跳转刷新.代码如下,首页在页面里准备一个form表单和一个iframe. <form action=&qu ...

随机推荐

  1. 数据库 - 初识MySQL - 介绍/安装

    一.介绍: mysql数据库管理软件: 套接字:服务端,客户端:客户端可访问服务端得数据 1.支持并发:操作得是共享得数据 2.处理锁,数据安全,性能 3.用别人得软件,得照着别人得规范,组织自己得语 ...

  2. 剑指Offer——孩子们的游戏(圆圈中最后剩下的数)

    题目描述: 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机 ...

  3. 转!!mybatis xml 传值 if test判断

    当mapper方法传参数 为 String时,且xml中药进行参数比较 比如 是不是等于1 或者等于2 方式1. 方式2. 转自:https://blog.csdn.net/chenaini119/a ...

  4. 6.Git代码回滚

    1.代码修改并提交 我们已经成功地添加并提交了一个helloWorld.txt文件,现在,是时候继续工作了. 于是,我们继续修改helloWorld.txt文件,改成如下内容: $ vi helloW ...

  5. Python多线程、多进程和协程的实例讲解

    线程.进程和协程是什么 线程.进程和协程的详细概念解释和原理剖析不是本文的重点,本文重点讲述在Python中怎样实际使用这三种东西 参考: 进程.线程.协程之概念理解 进程(Process)是计算机中 ...

  6. 【我的Android进阶之旅】Android目录过长造成错误:Failed to crunch file abc_textfield_search_activated_mtrl_alpha.9.png

    一.编译异常描述 一大早来开发一个新的需求,拉取了一个新的分支,然后导入Android Studio之后,编译就报错了,报错如下所示: 错误具体日志如下所示: Information:Gradle t ...

  7. Spring-ApplicationContext容器

    Spring ApplicationContext容器 ApplicationContext是spring中比较高级的容器.和BeanFactory类似,它可以加载配置文件中定义的bean,并将所有b ...

  8. mysql 迁移数据

    一.导出导入所有数据库的数据 1.导出 mysqldump -u root -p123456 --all-databases > all.sql 2.导入 mysql -u root -p123 ...

  9. C++入门(2)

    第一个程序,输入输出: #include <iostream> using namespace std; int main() { cout << "Hello, w ...

  10. 0604-Zuul构建API Gateway-Zuul的回退

    一.概述 参看地址:https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#hystrix-f ...