【05】AJAX实例-检测用户名是否存在(实例)

AJAX实例-检测用户名是否存在

用户注册时,需要填写个人信息,其中包括用户名。当用户输入完成时,JavaScript 需要及时检测用户名是否存在,如果存在给出提示,请用户更换用户名。

当然,这个步骤可以在用户提交表单以后由后台程序检测,如果用户名已存在,用户需要返回注册页面重新填写用户名,而前面填写的其他信息也随着网页的跳转已经过期,全部需要重填,这对用户来说是极大的伤害。

因此,有必要使用 AJAX 在用户不提交信息的情况下及时检测用户名是否存在。

前台代码:

  1. <p>
  2. 请输入用户名:<input type="text" id="demo"/>
  3. <span id="result"></span>
  4. </p>
  5. <script type="text/javascript">
  6. document.getElementById("demo").onblur=function(){// 输入框失去焦点
  7. var thisNode=this;
  8. var span=document.getElementById("result");
  9. var xmlhttp;
  10. try{
  11. // code for IE7+, Firefox, Chrome, Opera, Safari
  12. xmlhttp=newXMLHttpRequest();
  13. }catch(e){
  14. // code for IE6, IE5
  15. xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
  16. }
  17. xmlhttp.onreadystatechange=function(){
  18. if(xmlhttp.readyState<4){// 正在交互
  19. span.style.color="blue";
  20. span.innerHTML="正在检测...";
  21. }
  22. if(xmlhttp.readyState==4&& xmlhttp.status==200){// 请求成功
  23. if(parseInt(xmlhttp.responseText)){// 将服务器返回的数据转换为整数
  24. span.style.color="red";
  25. span.innerHTML="抱歉,您填写的用户名已经存在!";
  26. }else{
  27. span.style.color="green";
  28. span.innerHTML="恭喜你,填写正确!";
  29. }
  30. }
  31. }
  32. xmlhttp.open("POST","http://localhost/moyu.php?action=checkUserName",true);
  33. xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  34. xmlhttp.send("username="+thisNode.value);
  35. }
  36. </script>

后台代码(PHP):

  1. <?php
  2. if($_GET[‘action‘]=="checkUserName"){
  3. // 为简单起见,这里不再查询数据库,使用 3 个用户名作为示例
  4. if(
  5. $_POST[‘username‘]=="admin"||
  6. $_POST[‘username‘]=="xiaoming"||
  7. $_POST[‘username‘]=="zhangsan"
  8. ){
  9. echo 1;
  10. }else{
  11. echo 0;
  12. }
  13. }
  14. ?>

实例演示(输入完成,请将焦点离开输入框):

请输入用户名:

说明:"admin"、"xiaoming"和"zhangsan"三个用户名已存在。

魔芋测试:

时间: 2024-10-29 02:00:54

【05】AJAX实例-检测用户名是否存在(实例)的相关文章

php应用Ajax技术检测用户名

1.搭建Ajax开发框架,代码如下 <script language="javascript"> var http_request = false; function createRequest(url) { //初始化对象并发出XMLHttpRequest请求 http_request = false; if (window.XMLHttpRequest) { //Mozilla等其他浏览器 http_request = new XMLHttpRequest(); if

Struts2+Ajax实现检测用户名是否唯一

搞了慢慢两天,终于弄明白了怎么在Struts2框架中使用Ajax检测用户名的存在了.虽然,比起那些大牛们来,这速度确实够慢的,不过,最终弄出来还是满满的成就感啊. 闲话休提,言归正传.直接上代码: Action: 1 package com.bbs.action; 2 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servlet.http.HttpServletResponse; 5 import org.apach

【ajax入门】使用Ajax异步实现用户名异步校检

[功能描述] 我们在注册网站的通常都需要填写用户名,但我们输入我们喜欢的用户名的鼠标离开输入框,有时会提醒 用户名已被注册,但是网页上的其它内容却没有更新.这就是异步实现. 下面我们描述是怎样实现的.(ajax+Servlet) 前台代码: <div id="register" class="div_cntent">       <form name="form1">         <table>      

AJAX学习整理二之简单实例

做了几个简单的实例,加载txt文本内容.加载xml文件内容,把xml文本内容转换成html表格显示.废话不多说,直接贴代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/html"> <head>     <title>通过ajax获取文本内容</title>     <meta charset="utf-8">     <scr

jquery的ajax实现的删除记录代码实例

jquery的ajax实现的删除记录代码实例:下面一段jquery实现的ajax代码实例,能够删除一条记录,并且会给出提示信息,代码如下:代码段一: /* 请求Ajax 带返回值,并弹出提示框提醒---------------------------*/ function getAjax(url,parm,callBack){ $.ajax({ type:'post', dataType:"text", url:url, data:parm, cache:false, async:fa

每天一个JavaScript实例-检测表单数据

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-检测表单数据</title> <style> [role="alert"]{ background-color: #f

v-once指令、v-cloak指令、条件指令家族、原义指令、循环指令、todolist案例、实例成员-符号、实例成员-计算属性、实例成员-属性监听、监听的案例、局部组件、全局组件、组件交互(父传子、子传父)

v-once指令: v-once:单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) <div id="app"> <input type="text" v-model="msg"> <!-- 一旦赋值,只可主动更改 --> <input type="text" v-model="msg" v-once> <p>{{ m

Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别(转)

一.Java的反射机制   每个Java程序执行前都必须经过编译.加载.连接.和初始化这几个阶段,后三个阶段如下图:  其中 i.加载是指将编译后的java类文件(也就是.class文件)中的二进制数据读入内存,并将其放在运行时数据区的方法区内,然后再堆区创建一个Java.lang.Class对象,用来封装类在方法区的数据结构.即加载后最终得到的是Class对象,并且更加值得注意的是:该Java.lang.Class对象是单实例的,无论这个类创建了多少个对象,他的Class对象时唯一的!!!!.

Ajax案例3--&gt;判断用户名是否被占用

jsp页面--thirdajax.jsp 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 <!DOCTYPE