這篇文章將為大家詳細講解有關jQuery+Ajax怎么實現(xiàn)用戶名重名實時檢測,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司10多年成都企業(yè)網(wǎng)站建設服務;為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及高端網(wǎng)站定制服務,成都企業(yè)網(wǎng)站建設及推廣,對成都混凝土攪拌罐等多個行業(yè)擁有豐富的營銷推廣經(jīng)驗的網(wǎng)站建設公司。
利用jQuery框架,封裝了底層的Ajax異步技術,通過簡單的方法調(diào)用即可實現(xiàn)。這篇博客是針對用戶注冊時出現(xiàn)的用戶名重名問題的自動檢測,利用的技術是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提交標簽用的是button類型,首先不提交表單,在js判斷表單項都不為空時 再提交表單。 } $(function(){ $(":input[name='name']").blur(function(){ var val = $(this).val(); val = $.trim(val); if(val != ""){ var url = "${pageContext.request.contextPath }/UserServlet"; // 將前端的業(yè)務轉(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類,用于對用戶重名的判斷以及響應處理結(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"); // 設置響應結(jié)果的格式為text/html,字符集為UTF-8 response.setCharacterEncoding("UTF-8"); // 設置響應結(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響應流中 } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } }
jquery是一個簡潔而快速的JavaScript庫,它具有獨特的鏈式語法和短小清晰的多功能接口、高效靈活的css選擇器,并且可對CSS選擇器進行擴展、擁有便捷的插件擴展機制和豐富的插件,是繼Prototype之后又一個優(yōu)秀的JavaScript代碼庫,能夠用于簡化事件處理、HTML文檔遍歷、Ajax交互和動畫,以便快速開發(fā)網(wǎng)站。
關于“jQuery+Ajax怎么實現(xiàn)用戶名重名實時檢測”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
標題名稱:jQuery+Ajax怎么實現(xiàn)用戶名重名實時檢測
標題網(wǎng)址:http://jinyejixie.com/article36/ipgosg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、營銷型網(wǎng)站建設、網(wǎng)頁設計公司、云服務器、搜索引擎優(yōu)化、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)