在一般的注册页面中,在用户名的文本框旁边都有一个按钮来检测下你所输入的用户名是否已被使用,
我希望当我们输入用户名后,点击此按钮后,在当前注册页面弹出一个对话框来提示用户该用户名是否被使用,当我们关掉这个提示框后,仍然可以在当前注册页面上继续填写其他各项,这个在jsp页面中如何来实现.

解决方案 »

  1.   

    你不需要使用按钮,ajax就可以实现你的方法。在最新出版的《ajax+lucene》中就说了这个方法的实现。只要你输入用户名,当你输入密码时就会出现提示,用户名是否已存在。这种代码网上应该也有,但需要自己找找。
      

  2.   

    简单一点就到数据库里查询下看有没有同名的....想学点东西就看看ajax吧:)
      

  3.   

    ajax,代码如下:
    <html>
    <head>
    <script language="javascript">
    var http_request = false;
    function send_request(url) {//初始化、指定处理函数、发送请求的函数
    http_request = false;
    //开始初始化XMLHttpRequest 对象
    if(window.XMLHttpRequest) { //Mozilla 浏览器
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {//设置MiME 类别
    http_request.overrideMimeType("text/xml");
    }
    }
    else if (window.ActiveXObject) { // IE 浏览器
    try {
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
    }
    }
    if (!http_request) { // 异常,创建对象实例失败
    window.alert("不能创建XMLHttpRequest 对象实例.");
    return false;
    }
    http_request.onreadystatechange = processRequest;
    // 确定发送请求的方式和URL 以及是否同步执行下段代码
    http_request.open("GET", url, true);
    http_request.send(null);
    }
    // 处理返回信息的函数
    function processRequest() {
    if (http_request.readyState == 4) { // 判断对象状态
    if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
    alert(http_request.responseText);
    } else { //页面不正常
    alert("您所请求的页面有异常。");
    }
    }
    }
    </script>
    <script>
    function userCheck() {
    var f = document.form1;
    var username = f.username.value;
    if(username=="") {
    window.alert("用户名不能为空。");
    f.username.focus();
    return false;
    }
    else {
    send_request('sample1_2.jsp?username='+username);
    }
    }
    </script>
    </head>
    <body>
    <form name="form1" action="" method="post">
    用户名:<input type="text" name="username" value="">&nbsp;
    <input type="button" name="check" value="唯一性检查" onClick="userCheck()">
    <input type="submit" name="submit" value="提交">
    </form>
    </body>
    </html>
    sample1_2.jsp:
    <%@page contentType="texthtml;charset=gb2312" errorPage=""%>
    <%request.setCharacterEncoding("GBK");%>
    <%@include file="connection.jsp"%>
    <%@page import="java.sql.*"%>
    <%
    String username = request.getParameter("username");
    String sql = "select * from user where username='" + username+"'";
      ResultSet rs = null;
      rs = stm.executeQuery(sql);
        if (rs.next())
        out.println("用户名已经被注册,请更换一个用户名。");
      else
        out.println("用户名尚未被使用,您可以继续。");
    %>