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") { 
        //判断ajax从Servlet中返回的信息,即判断用户名是否存在。
            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" onblur="send()"/>
<span id="Username_Error_Massage"></span>
<br/>

密码:<input type="password" name="password" id="password01"/>
<br/>
重复密码:<input type="password" name="password_repeat" id="password02" onblur="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);
        }
    }
}  
// 最后结果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值