<a href="" id="preday">上一天</a> <a href="<%=basePath%>pages/zhbg/rc/powerdata/RCList2.jsp?q_FBSJ=<%=new TimeUtil().getToday()%>" id="today">今天</a> <a href="<%=basePath%>pages/zhbg/rc/powerdata/RCList2.jsp?q_FBSJ=<%=new TimeUtil().PreOrNextDay("+")%>" id="nextday">下一天</a> <script type="text/javascript"> var url="<%=basePath%>pages/zhbg/rc/powerdata/RCList2.jsp?q_FBSJ="; document.getElementById("preday").href=url+PreOrNextDay("-"); </script>
这是一个测试页面。
参数q_FBSJ是一个日期值,用于向数据库中查询对应日期的数据。
刚开始的时候,本来打算用java的日期方法来控制参数,来得到上一天,今天,下一天的数据。但是我发现一个问题是即使不点击,上一天,下一天。
上一天和下一天对应的参数值也会变。
所以我就打算用javascript来控制日期参数,但是问题又出来了。每次点击上一天之后,相当于重新刷新了一次页面(因为向数据库请求了数据。),刷新页面之后,javascript的日期值又变回原样了。也就是说只能用“上一天”看到昨天的数据(始终是昨天的数据,因为参数一直不变),而看不到前天和大前天的数据。
我的javascript日期值是全局变量,在单页面上测试没问题,参数是一直变的。
下面是单页面的内容。(不重要的代码没有写上)
<html> <head> <script type="text/javascript"> var currDT = new Date(); //增加或减少一天,由ope决定, + 为加,- 为减,否则不动 function PreOrNextDay(ope) { var num = 0; if (ope == "-") { num = -1; } else if (ope == "+") { num = 1; } var y = currDT.getYear();//年 var m = currDT.getMonth();//月 var lastDay = getLastDay(y, m); //每个月是多少天 var d = currDT.getDate();//日 d += num; if (d < 1) { m--; if (m < 0) { y--; m = 11; } d = getLastDay(y, m); } else if (d > lastDay) { m++; if (m > 11) { y++; m = 0; } d = 1; } currDT.setYear(y); currDT.setMonth(m); currDT.setDate(d); alert(currDT); return currDT; } </script> </head> <body> <!--加载时初始页面--> <script type="text/javascript"> </script> <a href="javascript:void(0)" onclick="addOneDay('+')">add</a> <a href="javascript:void(0)" onclick="addOneDay('-')">dep</a> </body> </html>