我在jsp页面中做了5个tab页,每个tab页对应一个div,默认是第一个显示,点击第几个就显示第几个。问题是

现在我想用js来控制,当前显示的tab页(比如第二个)当页面刷新后,不会还原到原来的默认的(第一个tab页),而是依然显示当前tab页,求js代码。附上我的tab页切换代码
<script type="text/javascript">
function setTab(name,cursel,n){
for(i=1;i<=n;i++){
var menu=document.getElementById(name+i);
var con=document.getElementById("con_"+name+"_"+i);
menu.className=i==cursel?"hover":"";
con.style.display=i==cursel?"block":"none";
}
}
</script>
以及tab页的定义代码
<ul>
<li id="one1" onclick="setTab('one',1,5)" class="hover">
<a href="userQuestionFind.action">全部问题</a>
</li>
<li id="one2" onclick="setTab('one',2,5)">
高悬赏问题
</li>
<li id="one3" onclick="setTab('one',3,5)">
已解决问题
</li>
<li id="one4" onclick="setTab('one',4,5)">
待解决问题
</li>
<li id="one5" onclick="setTab('one',5,5)">
零回答问题
</li>
</ul>
<div id="con_one_1"></div>
<div id="con_one_2"></div>
<div id="con_one_3"></div>
<div id="con_one_4"></div>
<div id="con_one_5"></div>

//用ajax实现
//1)建一文件命名 jsp9.jsp,内容如下:
<%@ page contentType="text/html; charset=GBK" %>
<%
int i=-1;
try
{
i= Integer.parseInt(request.getParameter("state"));
}
catch(Exception e)
{}
session.setAttribute("table_state",""+i);
%>
//2)将上面的代码修改为:
<%
int i=-1;
try
{
i= Integer.parseInt(""+session.getAttribute("table_state"));
}
catch(Exception e)
{}

%>
<script type="text/javascript">

/* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
@end @*/
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}

function callServer(i) {
var url = "jsp9.jsp?state=" + i;
xmlHttp.open("GET", url, true);

xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}

function updatePage() {
if (xmlHttp.readyState == 4) {
var response = xmlHttp.responseText;
}
}

function setTab(name,cursel,n){
for(i=1;i<=n;i++){
var menu=document.getElementById(name+i);
var con=document.getElementById("con_"+name+"_"+i);
menu.className=i==cursel?"hover":"";
con.style.display=i==cursel?"block":"none";
callServer(cursel);
}
}

</script>
以及tab页的定义代码
<ul>
<li id="one1" onclick="setTab('one',1,5)" class="hover">
全部问题
</li>
<li id="one2" onclick="setTab('one',2,5)">
高悬赏问题
</li>
<li id="one3" onclick="setTab('one',3,5)">
已解决问题
</li>
<li id="one4" onclick="setTab('one',4,5)">
待解决问题
</li>
<li id="one5" onclick="setTab('one',5,5)">
零回答问题
</li>
</ul>
<div id="con_one_1" style="display:<%=i!=1?"none":""%>">111</div>
<div id="con_one_2" style="display:<%=i!=2?"none":""%>">222</div>
<div id="con_one_3" style="display:<%=i!=3?"none":""%>">333</div>
<div id="con_one_4" style="display:<%=i!=4?"none":""%>">444</div>
<div id="con_one_5" style="display:<%=i!=5?"none":""%>">555</div>
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-27
我只有一个想法,代码不太懂。你可以在页面定义一个临时变量,当div变换时,同时给它赋值,刷新时,读取它的值判断js显示哪个div。
第2个回答  2011-04-28
用JS来判断!

jsp页面有一个table表格,每一行最后都有一个编辑按钮,点击按钮弹出div框...
button click事件 获取当前行tr标签 ("# 当前tr标签的id").text()就是改行的信息;

用JSP编个程序 :用户输入5个数字 对数字进行排序
<form id="form1" name="form1" method="post" action="sort.jsp"> <table width="80%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="46%" align="right">请输入第一个数:<\/td> <td width="54%"><label> <input name="a1" type="text" i...

小弟想在jsp页面控制一个DIV的位置并让它在最上层显示
隐藏Div用style里的display,设为none 当点击按钮时,把none改为block 显示在最上层用style里的z-index,设为1 如果没有效果,就把以下属性加到style中:position:absolute;left:8px;top:8px;

jsp点击tab页签时再加载数据
首先调用这句话的时候要判断下面的从servlet传出的数据是否为空,判断为空一定要用EL表达式。否则就会报错500,判断有数据就不要访问了,因为如果有数据你再访问就会触发死循环,只有为空的时候才去访问servlet名称,访问servlet名称之后就从数据库取出了你的数据。

jsp里面,弹出一个新的窗口怎么做?
1、你可以在这个div后面添加一个div,这个div的高度和宽度和浏览器的一样,都是100%。2、讲这个div的定位设置为绝对定位position:absolute;默认不显示这个div 3、当你弹出了那个弹出框的时候,你显示这个div,讲这个div的显示层次关系设置比那个弹出的div的显示层次关系小,比其他的都大就可以。4、这个...

jsp 怎么在同一个页面中的div中打开新的页面?
在div中写一个iframe标签,在点击div上写一个触发事件,写js方法改变iframe的src,它会自动去访问你写的src.

jsp页面根据数据库里查询的值,显示不同的div。
ognl 表达式是一个完美的选择,提供的具体思路如下:<jstl:if test="${requestScope.work_order}==a">显示 a div<\/if> <jstl:elseif test="${requestScope.work_order}==b">显示 b div<\/elseif> <jstl:else test="${requestScope.work_order}==a">显示 a div<\/else> 当然${reque...

请教一下怎么将几个不同的jsp页面布局到同一个jsp页面的不同位置...
它的作用是在一页网页中间插入一个框窗以显示另一个文件。它是 一个围堵标记,但围著的字句只有在浏览器不支援 iframe 标记时才会显示,如<noframes> 一样,可以放些提醒字句之类。通常 iframe 配合一个辨认浏览器的 Java Script 会较好,若 JavaScript 认出该浏览器并非 Internet Explorer 便会切换...

有关jsp页面中多个iframe同时加载的问题(用iframe实现tab标签)
一个action调用一个main service,main service里调用其他sub service,返回的数据放到一个DTO里,页面从DTO里拿数据

JSP 简单的分页 如:首页 第一页 1 2 3 4 5 6 上一页 首页 显示第7页的...
写一个公共的pageView.jsp,里面显示,做判断。<!-- 分页信息 --> <c:if test="${page.totalPage gt 1}"> <div align="right" style="margin: 0" class="pageview"> <div class="pages_numlnk" style="font-family: tahoma;"> <!-- 显示页码 --> <c:forEach begin="${page....

相似回答