ajax验证用户名是否存在

   需求: 利用ajax实现 当输入用户名时,验证该用户名是否已经存在,如果存在,给出重新输入用户名,不存在,提示可以使用。简单起见,如果用户名不等于 'shizhan',则可以使用。

     html页面:

     

  1. <%@ page language="java" pageEncoding="utf-8"%>  
  2.   
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  5. <html>  
  6.     <head>  
  7.        <script type="text/javascript" src="js/register.js"></script>  
  8.     </head>  
  9.     <body>  
  10.         <form>  
  11.             用户名  
  12.             <input type="text" name="username" id="username" />  
  13.             <input type="button" value="提交" id="btn1"/>  
  14.             <div id="myDiv"></div>  
  15.         </form>  
  16.     </body>  
  17. </html>  

     我们利用js给提交按钮绑定事件。js代码:

     

[javascript] view plain copy
  1. var xmlhttp;  
  2.   
  3. window.onload = function()  
  4. {  
  5.     var btn1 = document.getElementById("btn1");  
  6.     btn1.οnclick= loadXMLDoc;  
  7. }  
  8.   
  9.   
  10. function loadXMLDoc()   
  11. {  
  12.     if (window.XMLHttpRequest)   
  13.     {// code for IE7+, Firefox, Chrome, Opera, Safari  
  14.         xmlhttp = new XMLHttpRequest();  
  15.     }  
  16.     else  
  17.     {// code for IE6, IE5  
  18.         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  
  19.     }  
  20.     //绑定回调函数  
  21.     xmlhttp.onreadystatechange = function()  
  22.     {  
  23.         if (xmlhttp.readyState == 4 && xmlhttp.status == 200)   
  24.         {  
  25.             document.getElementById("myDiv").innerHTML = xmlhttp.responseText;  
  26.         }  
  27.     }  
  28.     //取得输入的值  
  29.     var name = document.getElementById("username").value;  
  30.     //第一个参数表示post请求,第二个参数表示提交给AjaxServlet,第三个参数为true,表示异步请求  
  31.     xmlhttp.open("POST""AjaxServlet"true);  
  32.     xmlhttp.setRequestHeader("Content-Type""application/x-www-form-urlencoded");  
  33.     xmlhttp.send("name="+name);  
  34. }  

    响应的servlet:

     

  1. package com.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.http.HttpServlet;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. public class AjaxServlet extends HttpServlet {  
  11.   
  12.       
  13.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  14.             throws ServletException, IOException {  
  15.         doPost(request,response);  
  16.     }  
  17.   
  18.   
  19.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  20.             throws ServletException, IOException {  
  21.   
  22.         response.setContentType("text/html");  
  23.         response.setCharacterEncoding("utf-8");  
  24.       
  25.         PrintWriter out = response.getWriter();  
  26.         String name = request.getParameter("name");   
  27.         System.out.println(name);  
  28.         if(name.equals("shizhan"))  
  29.         {  
  30.            out.write("用户名已经存在,请更换");  
  31.         }  
  32.         else  
  33.         {  
  34.            out.write("用户名可以使用");  
  35.         }  
  36.         out.flush();  
  37.         out.close();  
  38.     }  
  39.   
  40. }  

   结果页面:

   输入sss,点击提交

   

    输入shizhan,点击提交

    

来源:http://blog.csdn.net/linshizhan/article/details/7915939


  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值