<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>
图为数据库数据
得先把数据库结果返回,然后根据结果执行js,不是说把js放在中间执行
通过ajax去执行后台java代码,java代码中操作数据库,并把结果返回给前端,前端接收后,用js处理页面
客户端,服务器端代码搞不清楚。。最终发送到客户端的代码类似下面的,而且执行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);
}
}
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()+"')
js函数运行不了?是js函数运行不了,还是包在里面的java代码执行出问题?
手机看ing。。。 看的眼晕