我有一个jsp页面,里面有3个checkbox标签,我想当我在页面刷新的时候能够保持checkbox刷新前的状态

6th 2003-12-05 05:18:51
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.lang.*"%>
<form name = "form" method="post" action="">
<input type="checkbox" name="check">
<input type="checkbox" name="check">
<input type="checkbox" name="check">
<input type="submit" name="Submit" value="确定">
</form>

谁能帮我把上面的代码更改一下,能使得我在(submit)提交之后这个页面上面还保持原来的状态,即我选中哪个checkbox还是选中哪个,没选中还是没有选中。
注:我的form的action=""表示提交的是本页。
...全文
198 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
6th 2003-12-18
  • 打赏
  • 举报
回复
搞定了,谢谢djkhym(hym)你啊,虽然你写的代码有些错误,但是我已经理解你的意思,修改了一下,成功了,哈哈
djkhym 2003-12-07
  • 打赏
  • 举报
回复
我觉得yangFrame这种方法较有新意而简洁,比我的方法好,虽然我没有经过调试,但其意思很明确,应该不会有什么错误!
yangFrame 2003-12-06
  • 打赏
  • 举报
回复
我是这么解决的
boolean isInArray(String[] stringArr,String str)//返回str是否在数组中
<input type="checkbox" name="check" value="checkName"
<%=isInStringArray(request.getParameterValues("check"),"checkName")?"checked":""%>
>
djkhym 2003-12-06
  • 打赏
  • 举报
回复
我对于weichenggao的看法不能认可,因为checkbox控件在使用request.getParameterValues("check")时,如果某checkbox未选择则无返回值,即并不是顺序置于数组中的,即如果三个checkbox中选择了一个那么从request.getParameterValues中也只能得到一个具有一个元素的一维数组,此时你上面的做法就有点不对劲,共同探讨,一点想法也许不对,请指正!
hogcheng 2003-12-06
  • 打赏
  • 举报
回复
session
weichenggao 2003-12-06
  • 打赏
  • 举报
回复
<%if(chengk[1].equals("check")) out.print("selected");%
上面多了一个g,楼主看清楚拉,哎,刚才鼠标不听使唤!
公司的东西就是不行!!
weichenggao 2003-12-06
  • 打赏
  • 举报
回复
楼上的说了这么多,其实很简单处理的!
String[] check=request.getParameterValues("check");//用数组的方法读到值!

然后在页面中
<input type="checkbox" <%if(check[0].equals("check")) out.print("selected");%> name="check">
<input type="checkbox" <%if(chengk[1].equals("check")) out.print("selected");%> name="check">
<input type="checkbox" <%if(check[2].equals("check")) out.print("selected");%> name="check">
gong1 2003-12-06
  • 打赏
  • 举报
回复
改说的都说了。^_^
不要把checkbox放到form里边。
^_^
mianbao4068 2003-12-06
  • 打赏
  • 举报
回复
haley_hj(Haley)的方法不错~!!
6th 2003-12-06
  • 打赏
  • 举报
回复
大家的做法很多,我还没有来得及看,晚上回去看,现在还在公司加班,不好意思啊,耽误大家得分了
hojay2001 2003-12-05
  • 打赏
  • 举报
回复
用session ,javaScript 都可以!
flylyke 2003-12-05
  • 打赏
  • 举报
回复
session
djkhym 2003-12-05
  • 打赏
  • 举报
回复
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
String checkbox[];
checkbox=request.getParameterValues("c1");
if (checkbox!=null)
{
out.print("<script language=\"JavaScript\">");
out.print("\n{\n");
out.print("var value1=new Array();\n");
for(int i=0;i<checkbox.length;i++)
{
out.print("value1["+i+"]=new Array('"+checkbox[i]+"');\n");
}
out.print("}\n");
out.print("</script>");
}
%>
</head>
<body>
<script language="JavaScript">

function AppData()
{
var i;
var j;
var elem;
for(i=0;i<value1.length;i++) alert(value1[i]);
for(i=0;i<document.all("form1").elements.length;i++)
{
elem=document.all("form1").elements[i];
if (elem.name=="c1")
{
if (find(i)==true) elem.checked=true;
}
}
return false;
}

function find(i)
{
var j; i1=''+i;
if (value1!=null)
{
for(j=0;j<value1.length;j++) if (value1[j]==i1) return true;
}
return false;
}
</script>
<form name="form1" method="post" action="h1.jsp">
<p>
<input type="checkbox" name="c1" value="0">zero<br>
<input type="checkbox" name="c1" value="1">one<br>
<input type="checkbox" name="c1" value="2">two<br>
<input type="submit" name="Submit" value="提交">
<br>
</p>
</form>
<script language="JavaScript">
{
AppData();
}
</script>
</body>
</html>
jokerjava 2003-12-05
  • 打赏
  • 举报
回复
这种东西需要自己保存 然后再设上的

strut有这个功能 是因为它已经保存在session中了

haley_hj 2003-12-05
  • 打赏
  • 举报
回复
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.lang.*"%>
<%
String UpFlag=request.getParameter("UpFlag");
%>
<form name = "form" method="post" action="">
<input type="checkbox" name="check" value="0">
<input type="checkbox" name="check" value="1">
<input type="checkbox" name="check" value="2">
<input type="submit" name="Submit" value="确定">
</form>
<script>
var UpFlag = '<%=UpFlag%>';
document.thisForm.UpFlag.value='<%=UpFlag%>';
if (UpFlag==0) {
document.thisForm.UpFlag[0].checked=true;
}
else if (UpFlag==1) {
document.thisForm.UpFlag[1].checked=true;
}
else if (UpFlag==2) {
document.thisForm.UpFlag[2].checked=true;
}
</script>
haley_hj 2003-12-05
  • 打赏
  • 举报
回复
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.lang.*"%>
<%
String UpFlag=request.getParameter("UpFlag");
%>
<form name = "form" method="post" action="">
<input type="checkbox" name="check" value="0">
<input type="checkbox" name="check" value="1">
<input type="checkbox" name="check" value="2">
<input type="submit" name="Submit" value="确定">
</form>
<script>
document.thisForm.UpFlag.value='<%=UpFlag%>';
if (UpFlag==0) {
document.thisForm.UpFlag[0].checked=true;
}
else if (UpFlag==1) {
document.thisForm.UpFlag[1].checked=true;
}
else if (UpFlag==2) {
document.thisForm.UpFlag[2].checked=true;
}
</script>
whyxx 2003-12-05
  • 打赏
  • 举报
回复
把值放到session里,刷新后再取出来设上去就是了
kui 2003-12-05
  • 打赏
  • 举报
回复
用Struts标签可以实现。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧