我想在不用ajax的情况下,完成用户名验证存在与否的功能。
<form action="" name="form1">
用户账号:<input type="text" name="regusername" onblur="javascript:submit()"><%=request.getSession().getAttribute("display") %><br>
<%
if((String)request.getParameter("regusername")!=null){
String regusername=(String)request.getParameter("regusername");
Connection conn = ConnectionManager.getConn();
PreparedStatement ps = conn.prepareStatement("select count(*) from user_login where username='"+regusername+"'");
ResultSet rs = ps.executeQuery();
int num = -1;
if(rs.next()){
num = rs.getInt(1);
System.out.print(num);
}
if(num > 0){
System.out.println("不可用");
request.getSession().setAttribute("display","<div id='re'>不可用</div>");
out.print("<script language='javascript'>history.go(-1);</script>");
}else{
System.out.println("可用");
request.getSession().setAttribute("display","<div id='re'>可用</div>");
out.print("<script language='javascript'>history.go(-1); </script>");
}
}
%>
</form>
将页面提交给自己,从而拿到text中的value。然后根据value到数据库中判断用户名是否存在。如果存在就让div层显示不可用,如果不存在就显示用户名可用。
到现在还没有成功,希望各位大侠帮忙解决一下~先谢谢了!~~ps:用history.go(-1);是为了返回本页面的时候,原来输入的text的value还在... ..
<form action="" name="form1">
用户账号:<input type="text" name="regusername" onblur="javascript:submit()"><%=request.getSession().getAttribute("display") %><br>
<%
if((String)request.getParameter("regusername")!=null){
String regusername=(String)request.getParameter("regusername");
Connection conn = ConnectionManager.getConn();
PreparedStatement ps = conn.prepareStatement("select count(*) from user_login where username='"+regusername+"'");
ResultSet rs = ps.executeQuery();
int num = -1;
if(rs.next()){
num = rs.getInt(1);
System.out.print(num);
}
if(num > 0){
System.out.println("不可用");
request.getSession().setAttribute("display","<div id='re'>不可用</div>");
out.print("<script language='javascript'>history.go(-1);</script>");
}else{
System.out.println("可用");
request.getSession().setAttribute("display","<div id='re'>可用</div>");
out.print("<script language='javascript'>history.go(-1); </script>");
}
}
%>
</form>
将页面提交给自己,从而拿到text中的value。然后根据value到数据库中判断用户名是否存在。如果存在就让div层显示不可用,如果不存在就显示用户名可用。
到现在还没有成功,希望各位大侠帮忙解决一下~先谢谢了!~~ps:用history.go(-1);是为了返回本页面的时候,原来输入的text的value还在... ..
应该是直接打在后台了...
用
%>不可用<%
就行...
<form action="" name="form1">
用户账号:<input type="text" name="regusername" onblur="javascript:submit()">
<%
if((String)request.getParameter("regusername")!=null){
String regusername=(String)request.getParameter("regusername");
Connection conn = ConnectionManager.getConn();
PreparedStatement ps = conn.prepareStatement("select count(*) from user_login where username='"+regusername+"'");
ResultSet rs = ps.executeQuery();
int num = -1;
if(rs.next()){
num = rs.getInt(1);
System.out.print(num);
}
if(num > 0){
System.out.println("不可用");
request.getSession().setAttribute("display","<div id='re'>不可用</div>");
out.print("<script language='javascript'>history.go(-1);</script>");
}else{
System.out.println("可用");
request.getSession().setAttribute("display","<div id='re'>可用</div>");
out.print("<script language='javascript'>history.go(-1); </script>");
}
}
%>
<%=request.getSession().getAttribute("display") %><br>
</form>
<%=request.getSession().getAttribute("display") %>在赋值之前就输出了,应该是没有值的。把他放到验证之后去看看……