我想在不用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还在... ..

解决方案 »

  1.   

    System.out.println("不可用");
    应该是直接打在后台了...

    %>不可用<%
    就行...
      

  2.   

    不是用Ajax直接页面调用数据?不安全的说
      

  3.   


    <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") %>在赋值之前就输出了,应该是没有值的。把他放到验证之后去看看……