web开发中HiddenFrame的使用

本文介绍了如何通过使用HiddenFrame解决网页开发中的两个常见问题:一是避免在子窗口提交数据时重复弹出页面;二是改善左侧列表选择后右侧内容更新时的用户体验。文章详细展示了HiddenFrame的具体实现方法。

什么是HiddenFrame

习惯上称为“隐藏帧”

<iframe style="display:none" name="HiddenFrame" />

 

在开发中遇到如下情况可以考虑使用HiddenFrame

(1)在弹出子窗口中进行一定操作后,要将此页进行提交,如使用普通方式向目标页提交,则会再次弹出一个页面(目标页)

 

此时利用HiddenFrame可以解决:

 

在子窗口中加入上述的<iframe>

<form name="xx" method="post" action="目标页">

 

进行提交的JavaScript方法中

xx.target="HiddenFrame"

xx.submit()

 

 

(2)页面中左侧为列表项,点击某一项,右侧出现相应的内容

普通方法一:

右侧使用<iframe>,但可能出现双滚动条,影响美观

 

另一种方法:

右侧使用include方式嵌入页面,但每点一项整个页面会刷一次,效果不好

 

利用HiddenFrame来解决问题:

在页面中加入上述<iframe>

在Head部分

<script>

 function getXXX(strID){

    HiddenFrame.location.href="目标页.jsp?OID="+strID

}

</script>

 

在页面末端

<script>

  getXXX(" ")   //调用 当首次打开页面时执行

</script>

 

注意:iframe要放在页面末端script的上面(如果在script中要调用这个iframe)

一般情况下iframe会放在页面最下面</html>前

 

在左侧列表中各项的onclick中调用 getXXX("传入标识id")

右侧可以放一个<td id="showContent"></td>

 

目标页面(全部放入script):

<script>

 var strReturn="<table>";

<%

//jsp操作代码

String st=request.getParameter("标识id");  //获取左侧传入的OID

 

//根据不同的参数得到不同的Content(此处可以进行数据库操作等)

 

//构造客户端输出

out.println("strReturn=strReturn+\"<tr>\";");

out.println("strReturn=strReturn+\"<td>\";");

out.println("strReturn=strReturn+\""+content+"\";");

out.println("strReturn=strReturn+\"+</td>+\";");

out.println("strReturn=strReturn+\"+</tr>+\";");

 

%>

strReturn=strReturn+"</table>";

parent.document.all.showContent.innerHTML=strReturn;  //赋给右侧的td

</script>

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值