jQuery+Ajax實現(xiàn)用戶名重名實時檢測
利用jQuery框架,封裝了底層的Ajax異步技術(shù),通過簡單的方法調(diào)用即可實現(xiàn)。這篇博客是針對用戶注冊時出現(xiàn)的用戶名重名問題的自動檢測,利用的技術(shù)是Ajax異步傳輸。
register.jsp 注冊顯示頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<form action="login" method="post" id="myform">
<table align="center">
<tr>
<td>用戶名:</td>
<td>
<input type="text" name="name" id="username" title="用戶名" />
<div id="message"></div>
</td>
</tr>
<tr>
<td>密碼:</td>
<td><input type="password" name="pwd" id="userpwd" title="密碼" />
</td>
</tr>
<tr>
<td>性別:</td>
<td><input type="radio" name="sex" value="男" title="性別" />男 <input
type="radio" name="sex" value="女" title="性別" />女</td>
</tr>
<tr>
<td>年齡:</td>
<td><input type="text" name="age" title="年齡" />
</td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="email" title="Email" />
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button" value="注 冊"
onclick="check()" /> <input type="reset" value="重 置" /></td>
</tr>
</table>
</form>
</body>
<script type="text/javascript" src="${pageContext.request.contextPath }/script/jquery-3.2.1.js"></script>
<script type="text/javascript">
// 檢查表單元素的值是否為空
function check() {
var myform = document.getElementById("myform");
for ( var i = 0; i < myform.length; i++) {
if (myform.elements[i].value == "") {
alert(myform.elements[i].title + "不能為空");
myform.elements[i].focus();
return;
}
}
myform.submit(); // 表單中最后input提交標(biāo)簽用的是button類型,首先不提交表單,在js判斷表單項都不為空時 再提交表單。
}
$(function(){
$(":input[name='name']").blur(function(){
var val = $(this).val();
val = $.trim(val);
if(val != ""){
var url = "${pageContext.request.contextPath }/UserServlet"; // 將前端的業(yè)務(wù)轉(zhuǎn)到后端Servlet來處理。最后Servlet再將結(jié)果返回給前端JSP頁面
var args = {"userName":val, "time":new Date()};
$.post(url, args, function(data){ // URL中處理的結(jié)果都保存在data數(shù)據(jù)中,而data中的格式是Servlet中返回的結(jié)果格式,即為html
$("#message").html(data); //將data結(jié)果附加到div中
});
}
});
});
</script>
</html>
UserServlet 邏輯處理Servlet類,用于對用戶重名的判斷以及響應(yīng)處理結(jié)果的輸出等。其中用于數(shù)據(jù)庫檢測重名的方法省略了(LoginDao.getInstance().checkUserName(userName.trim()); // 查找數(shù)據(jù)庫是否存在該用戶名)
package com.servlet.user;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dao.LoginDao;
import com.user.UserInfo;
public class UserServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8"); // 設(shè)置響應(yīng)結(jié)果的格式為text/html,字符集為UTF-8
response.setCharacterEncoding("UTF-8"); // 設(shè)置響應(yīng)結(jié)果的字符編碼為UTF-8
// 禁止緩存
response.setHeader("Cache-Control", "no-store,no-cache,must-revalidate");
response.setHeader("Cache-Control", "post-check=0,pre-check=0");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
PrintWriter out = response.getWriter();
out.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
// 從httpRequest()方法中獲得請求參數(shù)值
// 通過httpRequest()方法封裝的請求參數(shù)被編碼為UTF-8格式,此處若想還原原來的編碼格式,則需要通過UTF-8格式解碼
String userName = request.getParameter("userName");
String result = null;
boolean check = LoginDao.getInstance().checkUserName(userName.trim()); // 查找數(shù)據(jù)庫是否存在該用戶名
if (check) {
result = "<font color='red'>該用戶已經(jīng)被使用</font>";
} else {
result = "<font color='green'>該用戶名可以使用</font>";
}
response.getWriter().print(result); // 將結(jié)果輸出到response響應(yīng)流中
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 利用Ajax檢測用戶名是否被占用的完整實例
- JQuery Ajax如何實現(xiàn)注冊檢測用戶名
- PHP+Ajax實現(xiàn)的檢測用戶名功能簡單示例
- AJAX應(yīng)用實例之檢測用戶名是否唯一(實例代碼)
- AJAX實現(xiàn)無刷新檢測用戶名功能
- 使用Ajax實時檢測"用戶名、郵箱等"是否已經(jīng)存在
- PHP+Ajax檢測用戶名或郵件注冊時是否已經(jīng)存在實例教程
- Asp.net下利用Jquery Ajax實現(xiàn)用戶注冊檢測(驗證用戶名是否存)
- jquery ajax 檢測用戶注冊時用戶名是否存在
- PHP+AJAX實現(xiàn)無刷新注冊(帶用戶名實時檢測)
- PHP+AJAX實現(xiàn)無刷新注冊(帶用戶名實時檢測)
- ajax 檢測用戶名是否被占用
- AJAX檢測用戶名是否存在的方法
相關(guān)文章
jquery中實現(xiàn)時間戳與日期相互轉(zhuǎn)換
本文主要利用jquery擴展寫了一個myTime對象,并寫了2個函數(shù)分別處理日期和時間戳之間的相互轉(zhuǎn)換。2016-04-04
jQuery的Ajax時無響應(yīng)數(shù)據(jù)的解決方法
今天做項目時發(fā)現(xiàn)永遠(yuǎn)響應(yīng)的值都是該頁面的html代碼。2010-05-05
jquery使用animate方法實現(xiàn)控制元素移動
這篇文章主要介紹了jquery使用animate方法實現(xiàn)控制元素移動,涉及jQuery中animate方法的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
jQuery動態(tài)創(chuàng)建元素以及追加節(jié)點的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨Query動態(tài)創(chuàng)建元素以及追加節(jié)點的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10
jQuery插件實現(xiàn)表格隔行變色及鼠標(biāo)滑過高亮顯示效果代碼
這篇文章主要介紹了jQuery插件實現(xiàn)表格隔行變色及鼠標(biāo)滑過高亮顯示效果代碼,涉及jQuery針對頁面元素動態(tài)操作及響應(yīng)鼠標(biāo)事件動態(tài)修改頁面元素樣式的相關(guān)技巧,需要的朋友可以參考下2016-02-02

