2 jifen000 jifen000 于 2015.07.09 13:59 提问

这个js函数怎么运行不了
  <body>
<SCRIPT language=JavaScript>
function qiandao1(){
            <%
        try{
        Connection con;
        Statement sql;
        Statement sql1;
        ResultSet rs;
        Class.forName("com.mysql.jdbc.Driver");
        String dbUrl="jdbc:mysql://localhost:3306/jf";
        String dbUsr="root";
        String dbPwd="23322535";
                Calendar c = Calendar.getInstance();//可以对每个时间域单独修改
 int year = c.get(Calendar.YEAR); 
 int month = c.get(Calendar.MONTH)+1; 
 int day = c.get(Calendar.DATE);
         con=java.sql.DriverManager.getConnection(dbUrl,dbUsr,dbPwd); 
        sql=con.createStatement(); 
        sql1=con.createStatement(); 
        //String id=request.getParameter("id");
        rs=sql.executeQuery("select year,month from qian where day='"+day+"'");
        while(rs.next()){
        %>
        if(<%=rs.getInt(1)%>==<%=year%>&&<%=rs.getInt(2)%>==<%=month%>)
        {var result = confirm("你今天已签过到了。");
            alert(result);}
        else{
        <%sql1.executeUpdate("INSERT INTO qian(year, month, day) VALUES('"+year+"', '"+month+"','"+day+"')"); %>
        var result1 = confirm("签到成功!");
            alert(result1);
        }
                 <%
        }
        rs.close();
        sql.close();
        sql1.close();
        }catch(Exception e1){out.println(e1.toString());}
         %>
}

</SCRIPT>
 <input type="submit" name="submit2" value="test" style="border:0;FONT-SIZE: 9pt;background:#FF0000;color:#FFFFFF" onclick="qiandao1()"/>
  </body>

图片说明图为数据库数据

6个回答

yuke198907
yuke198907   2015.07.09 14:02

得先把数据库结果返回,然后根据结果执行js,不是说把js放在中间执行

bdmh
bdmh   Ds   Rxr 2015.07.09 14:03

通过ajax去执行后台java代码,java代码中操作数据库,并把结果返回给前端,前端接收后,用js处理页面

showbo
showbo   Ds   Rxr 2015.07.09 14:09

客户端,服务器端代码搞不清楚。。最终发送到客户端的代码类似下面的,而且执行n次sql1.executeUpdate("INSERT INTO qian(year, month, day) VALUES('"+year+"', '"+month+"','"+day+"')");操作。。

你应该用ajax调用服务器方法验证是否签到过,签到过就执行插入操作,而不是在客户端进行判断。。

 function qiandao1(){
 //下面代码重复n次
        if(<%=rs.getInt(1)%>==<%=year%>&&<%=rs.getInt(2)%>==<%=month%>)
        {var result = confirm("你今天已签过到了。");
            alert(result);}
        else{
        var result1 = confirm("签到成功!");
            alert(result1);
        }

}
frank_20080215
frank_20080215   2015.07.09 15:38

sql1.executeUpdate("INSERT INTO qian(year, month, day) VALUES('"+year+"', '"+month+"','"+day+"')
改成
sql1.executeUpdate("INSERT INTO qian(year, month, day) VALUES('"+Int(year).toString()+"', '"+Int(month).toString()+"','"+Int(day).toString()+"')

diaoliwei2
diaoliwei2   Rxr 2015.07.09 16:11

js函数运行不了?是js函数运行不了,还是包在里面的java代码执行出问题?

u011225581
u011225581   2015.07.09 16:37

手机看ing。。。 看的眼晕

Csdn user default icon
上传中...
上传图片
插入图片