jsp注册页面,Ajax实现验证用户名是否存在,密码是否一致,当不存在时,注册按钮变成灰色。...

register.jsp页面信息

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注册页面</title>
    <script type="text/javascript">
        function createXMLHttpRequest() {    //创建XMLHttpRequest
            try {
                return new XMLHttpRequest();            //直接创建对象,不适用与IE5,IE6
            } catch (e) {
                try {
                    return new ActiveXObject("Msxml2.XMLHTTP");   //对于不适用的,创建合适的对象
                } catch (e) {
                    return new ActiveXObject("Microsoft.XMLHTTP");
                }
            }
        }
        function send() {
            var xmlHttp = createXMLHttpRequest();

            xmlHttp.onreadystatechange = function () {
                if (xmlHttp.readyState === 4 && xmlHttp.status == 200) {  //判断xmlHttp的状态是否完毕
                    if(xmlHttp.responseText == "true") {        //判断ajaxServlet中返回的信息,即判断用户名是否存在。 
                        document.getElementById("Username_Error_Massage").innerHTML
                            = "<font color='red'>用户名已被注册!</font>";      //弹出警告信息,告知不可适用该用户名
                        document.all("register").disabled=true;  //将注册按钮关闭,无法点击
                    }else {                 
                        document.getElementById("Username_Error_Massage").innerHTML
                            = "账号可用!";
                        document.all("register").disabled=false; //开启注册按钮
                    }
                }
            };
            var method = "POST";        //定义传输方式
            var url="/Taobei/registerServlet?" + new Date().getTime();       //定义对应的URL,为了避免浏览器的缓存造成干扰,加上时间戳
            xmlHttp.open(method, url, true);       
            xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            var username = document.getElementById("username").value;
            if(username===undefined || username === null || username === ""){   //判断用户名是否为空
                alert("账号不能为空!");       // 弹出警告信息
            }
            xmlHttp.send("username=" + username);       //发送信息
        }
        function inspect_password() {       //判断两次用户名是否一致,不一致时,注册按钮不可使用
            if(document.getElementById("password01").value !=
                document.getElementById("password02").value){
                document.getElementById("div_password").innerHTML
                    = "<font color='red'>两次密码不一致</font>"
                document.all("register").disabled=true;
            }else {
                document.getElementById("div_password").innerHTML
                    = "密码一致!"
                document.all("register").disabled=false;
            }
        }
    </script>
</head>
<body>
<h1>欢迎来到注册页面</h1>
<hr>
<form action="/registerServlet" method="post">
    账号:<input type="text" name="username" id="username" οnblur="send()"/>
    <span id="Username_Error_Massage"></span>
    <br/>
    
    密码:<input type="password" name="password" id="password01"/>
    <br/>
    重复密码:<input type="password" name="password_repeat" id="password02" οnblur="inspect_password()"/>
    <span id="div_password"></span>
    <br/>
    
    邮箱:<input type="email" name="email"/><br/>
    <input type="submit" value="提交" name="register"/>
</form>
</body>
</html>
 
registerServlet的代码如下:
package Servlet;

import javax.management.Query;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * Created by user on 17-7-20.
 * This Servlet suppport register page.
 */
@WebServlet(name = "registerServlet",value = "/registerServlet")
public class registerServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String username = request.getParameter("username");
        
        if (username.equals("test")) {  //单纯测试,不进行连接数据库,,相同返回true
            response.getWriter().print(true);
        } else {        //不同返回false;
            response.getWriter().print(false);
        }
    }
}
 
最后结果如下:

转载于:https://www.cnblogs.com/guodao/p/9702481.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值