加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax方式提交表单数据并判断当前注册用户是否存在

发布时间:2020-12-16 03:00:49 所属栏目:百科 来源:网络整理
导读:项目的目录结构 源代码: regservlet.java package register; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; imp

项目的目录结构

源代码:

regservlet.java

package register;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class regservlet
 */
@WebServlet("/regservlet")
public class regservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public regservlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request,HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request,HttpServletResponse response)
            throws ServletException,IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();

        // 获取用户名
        String name = request.getParameter("username");

        // 模拟数据库
        if ("张运涛".equals(name)) {
            // out.println("用户名已存在");
            out.println("<font color=red>用户名已存在</font>");
        } else if (name.equals("")) {
            out.println("<font color=red>用户名不能为空</font>");
        } else {
            // out.println("用户名可以使用");
            out.println("<font color=blue>用户名可以使用</font>");
        }

        out.flush();
        out.close();

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request,HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request,IOException {
        // TODO Auto-generated method stub
        doGet(request,response);
    }

}

register.js

window.onload = function() {
    document.getElementById("username").onblur = function() {

        // 获取<input type="text" name="username" value="" id="username">
        var username = document.getElementById("username").value;

        // 1
        var xmlHttp = ajaxFunction();

        // 2
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                if (xmlHttp.status == 200 || xmlHttp.status == 304) {
                    var data = xmlHttp.responseText;
                    document.getElementById("divcheck").innerHTML = data;
                }
            }

        }

        // 3
        xmlHttp.open("post","../regservlet?timeStamp=" + new Date().getTime(),true);
        xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

        // 4
        xmlHttp.send("username=" + username);
    }
}

function ajaxFunction() {
    var xmlHttp;
    try { // Firefox,Opera 8.0+,Safari
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        try {// Internet Explorer
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
            }
        }
    }
    return xmlHttp;
}

register.jsp

<%@ page language="java" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>校验用户名是否存在</title>
<script type="text/javascript" src="./register.js">
    
</script>
</head>
<body>
    <center>
        <form action="" enctype="application/x-www-form-urlencoded">
            <h3>请填写用户注册信息</h3>
            <table border="1">
                <tr>
                    <td>用户名:</td>
                    <td><input type="text" name="username" value="" id="username">
                        <!--  用户名已存在显示在div 中 -->
                        <div id="divcheck"></div>
                </tr>
                <tr>
                    <td>密码:</td>
                    <td><input type="password" name="psw" value=""></td>
                </tr>

            </table>

        </form>
    </center>
</body>

</html>

运行截图:

?

完整源代码https://pan.baidu.com/s/1PSjQuU96emWL1UYYMKwlaA

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读