以下是我在一个单独的js文件中写的一个方法,他的作用是根据我在jsp页面中输入的月和日的值(年就先默认为系统年)来计算星期:
Check.js:
function getyobi(year,month,date) { var myDate = new Date(year.value,month.value-1,date.value); var d_Day = myDate.getDay();
switch (d_Day) {
case 0:
day = "日";break;
case 1:
day = "月";break;
case 2:
day = "火";break;
case 3:
day = "水";break;
case 4:
day = "木";break;
case 5:
day = "金";break;
case 6:
day = "土";break;
default:
day = " ";
}
return day+"曜日";
}相应的jsp部分代码:(123.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <head>
       <script language=javascript type="text/javascript" src="JS/ENG_Check.js"></script>
  </head>
  
  <body>
  <%
   Calendar mycalendar = Calendar.getInstance();
int year = mycalendar.get(Calendar.YEAR);
out.print(year);  %>
  <form action="123.jsp" onSubmit="return getyobi(year,Yue,Ri);">
   <input type="text" name="Yue" size="2" maxlength="2" value="">
   <input type="text" name="Ri" size="2" maxlength="2" value="">
   <input type="submit" name="Submit" value="提交"> <br>
   </form>
  </body>
</html>
我的问题是:我的js返回了一个值day,请问我在jsp中如何获取这个值,我要把他输出在123.jsp页面上,谢谢大家!

解决方案 »

  1.   

    123.jsp
    // src的路径根据自己的目录改一下
    <script type="text/javascript" src="/Check.js"></script>
    <%
     String day = getyobi(year,month,date);
    %>
    <%=day %>
      

  2.   

    document.forms[0].action='123.jsp?day='+getyobi(...)
    document.forms[0].submit();
      

  3.   

     <input  type="button" value="提交" onclick="'123.jsp?day='+getyobi(...) ">
      

  4.   

    <input     type="button"   value="提交"   onclick="location.href='123.jsp?day='+getyobi(...)   "> 
      

  5.   

    问题已经解决了,但是现在传过去的值在网页中显示是乱码,只有中文是乱码,我jsp中编码方式是utf-8,为什么不行啊?
      

  6.   

    location.href='123.jsp?day='+encodeURI(getyobi(...))
      

  7.   

    new String(request.getParameter("day").getBytes("ISO-8859-1"),"UTF-8");
      

  8.   

    new String(request.getParameter("day").getBytes("ISO-8859-1"),"UTF-8");
      

  9.   

    new String(request.getParameter("day").getBytes("ISO-8859-1"),"UTF-8");