<%@ page language="java" contentType="text/html; charset=GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>search result</title>
</head>
<body background= "<%=request.getContextPath()%>/img/top1.jpg">
   <%
   int i;
   String [] toJsp=(String [])request.getAttribute("toJsp");//这里是从action获得的内容
   System.out.println(toJsp.length); 
   %>
   <%int count=0;%>
   <center>
   <form name="form1">
   <table align="center">
   <tr align="center"><td><input type="button" value="新增" onClick="newadd()"/></td><td><input type="button" value="查看" onClick="check()"/></td><td><input type="button" value="修改" onClick="update()" /></td></tr>
   <tr align="center"><td align="center">选择</td><td align="center">题目</td><td align="center">日期</td></tr>
   <% for(i = 0;i < toJsp.length;){ %>
   <tr align="center"><td><input type="checkbox" value="查看" id="CheckBox<%=i%>"></td><td><%=toJsp[i] %></td><td><%=toJsp[++i]%></td><%i=i+2; %>
   <%} %>
   </table>           
   <table align="center"> 
   <tr align="center"><td>内容</td></tr>
   <tr align="center"><td><input type="text"  id="text1"></td></tr>
   <tr align="center"><td><textarea cols="40" rows="10" id="text2"></textarea></td></tr>
   </table>
   </form>
   </center>
</body><script type="text/javascript"  language="javascript">
  function check()
  { 
           var j=0;
           
           while(j<<%=toJsp.length%>)
           {<%System.out.println("JAVA001"+count);%>
             if(document.getElementById("CheckBox".concat(j)).checked)
             {alert(j);alert("count上面="+<%=count%>);
   document.getElementById("text1").value = <%=toJsp[count]%>;//就是这边count会变成0
               document.getElementById("text2").value = <%=toJsp[count+2]%>;

               <%count=0;%>
               break;   
             }   
             else
             {
               j = j+3;alert(j);
               <%count = count +3; System.out.println("JAVA"+count);%>
               alert("count下面="+<%=count%>);
             }           }
  }   function newadd()
   {
       document.form1.action = "<%=request.getContextPath()%>/frame/newStudy.jsp";
       document.form1.submit();    
   }
   function  data(x,y)
   {  alert("a");
       document.getElementById("text1").value = x;
       document.getElementById("text2").value = y;
   }
      
   function update()
   {
      document.form1.action = "<%=request.getContextPath()%>/frame/update.jsp";
      document.form1.submit();
   }
   
</script>
</html>

解决方案 »

  1.   

    我已经把count定义为全局变量了 count还变成0的情况 我用alert运行时候count在button第一次点击时count变成3之后变成0是什么情况啊?
      

  2.   

     因为你的jsp先编译java的 所以要这样写 while(j<parseInt("<%=toJsp.length%>")){
    //dosomething

    document.getElementById("text1").value = "<%=toJsp[count]%>";//就是这边count会变成0
    document.getElementById("text2").value = "<%=toJsp[count+2]%>";
      

  3.   

    document.getElementById("text1").value = <%=toJsp[count]%>;//就是这边count会变成0
    document.getElementById("text2").value = <%=toJsp[count+2]%>;
      <%count=0;%>问题出在这一句吧。。
      

  4.   

    javascript里面可以直接用el表达式取值。  var demo = "${action的字段名}"
      

  5.   

    可以把java 的人值传给hidden然后就js取hidden的值
      

  6.   

    <input type="hidden" id="txtArr" value="<%= Arrays.toString(toJsp)%>"/>js:
    var value=document.getElementById("txtArr").value;
    var jsArr=value.split(',');
      

  7.   

    如果你的js直接写在页面上的话,可以:var count = "<%=count%>";
      

  8.   

    相当感谢各位 不过我是用JAVA数组赋值给JS数组方式了
               var array = new array();
               <%for(int x=0;x<=toJsp.length;x++)
               {%>
                 array[<%=x%>] = "<%=toJsp[x]%>";
               <%}%>