JSP提交到原来窗口上

有两个页面 A.jsp 和 B.jsp,  A.jsp有一个提交操作, B.jsp是提交操作的Action,

在 A.jsp 页面上加上<base target="_self">,  在IE6.0上, A.jsp的窗口的内容会变成B.jsp, 并且A.jsp的内容加会被覆盖, 但在IE7.0上还是会弹出新的窗口.

怎么做到 A.jsp 提交后不弹出新窗口? 并且 A.jsp 的内容不改变呢? 我这里有几个简单的方法

一. 在A.jsp页面中实现

A.jsp

<form name="form1" method="post" target="submit2Here" action="B.jsp">

//your html code

</form>



<iframe name="submit2Here" style='display:none'></iframe>
 
这样提交后B.jsp的内容就会被放到名字为submit2Here的iframe中
在B.jsp的JS中, 
用window.parent可以获取A.jsp的window;
用window.parent.document可以获取A.jsp的document;
用window.parent.Afunction()可以调用A.jsp中定义的JS方法Afunction;
这样就可以用JS操作A.jsp 中的元素和方法了
二. 使用另外的页面C.jsp
C.jsp
 <iframe name="submitPage"

            src="A.jsp"

            width="900" height="630" frameborder="no" border="0" marginwidth="0" marginheight="0"  allowtransparency="yes" ></iframe>

 <iframe name="submit2Here" style='display:none'></iframe>
A.jsp
<form name="form1" method="post" target="submit2Here" action="B.jsp">

//your html code

</form>
这样提交后B.jsp的内容就会被放到C.jsp中名字为submit2Here的iframe中
在B.jsp的JS中, 
用window.parent.document.frames['submitPage'].contentWindow 可以获取A.jsp的window;
可以用alert(window.parent.document.frames['submitPage'].contentWindow.name);
   或alert(window.parent.document.frames[0].contentWindow.name); 试试
用window.parent.document.frames['submitPage'].contentWindow.document可以获取A.jsp的document;
用window.parent.document.frames['submitPage'].contentWindow.Afunction()可以调用A.jsp中定义的JS方法Afunction;
这样就可以用JS操作A.jsp 中的元素和方法了
 用 contentWindow 属性, 这个能兼容IE, FireFox 等浏览器. 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值