Ajax表单验证用户名是否存在

2016-02-19 20:36 9 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐Ajax表单验证用户名是否存在,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

做一个表单验证里面最简单的例子,检查用户名是否存在,使用Ajax完成表单验证的正常步骤应该是:

客户端收集表单信息。

使用XMLHttpRequest对象提交到服务器。

服务器完成验证的逻辑,返回结果信息。

浏览器端根据服务器返回的信息对用户做出一定的提示。

不过由于我的空间不支持任何服务器段语言,所以把本应在服务器的逻辑搬到了浏览器,由JavaScript来做,服务器只负责提供一个用户名的列表。最后的效果如下,试着输入test,cainiao8这些用户名,都会显示已注册。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

JavaScript代码分析
首先,当文档载入完毕的时候,给表格设置change事件的响应函数ajaxValidate,代码如下:

addEventSimple(window,'load',function(){ var test = document.getElementById('username'); addEventSimple(test,'change',ajaxValidate);});这样,当用户名文本框内的值改变之后,就会调用ajaxValidate函数,其代码如下:

function ajaxValidate(){ var options = {  url:'ajax/ajaxUsernames.xml',  listener:callback,  method:'GET' } var request = createRequest(options); request.send(null);}它会使用之前介绍的createRequest函数初始化一个XMLHttpRequest对象,并且将它发送到服务器,请求ajaxUsernames.xml文件。

最后就是callback函数了:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

function callback(){ var xmlDoc = this.responseXML; var root = xmlDoc.getElementsByTagName('root')[0]; var nodes = root.getElementsByTagName("username"); var currentNode = null; var username = document.getElementById('username').value; for(var i = 0; i nodes.length; i++) {  currentNode = nodes[i];  if(username == currentNode.childNodes[0].nodeValue){   document.getElementById('test').innerHTML = '对不起!'+username+'已经被注册。';   return;  } } document.getElementById('test').innerHTML = '用户名' + username +'可以使用!';}callback函数在已经存在的用户名搜索当前用户输入的名字,判断是否已经存在。

来源:http://www.tulaoshi.com/n/20160219/1624116.html

延伸阅读
标签: Web开发
求一个验证用户名的正则表达式 各位大哥大姐,晚辈求一个验证用户名的正则表达式,苦苦思索了一个星期还是没有弄出来,本人愚钝,还望大家指教! VBscript编程要求用户名的字符控制在3至20个之间,由中文、大小写字母、数字、下划线、小数点、减号组成, 必须以中英文或数字开头结尾且下划线、小数点、减号这三个字符中的其中一个的组合不能是...
标签: word
Word批注怎样删掉用户名   Word批注怎样删掉用户名 有时候Word在添加批注的时候,自己的姓名会出现,而人们却又想匿名注释。那么Word批注怎样删掉用户名?下面一起来看看操作方法。以下会非常全面的介绍,2003和2010都有介绍,2007用户参考一下2010版的吧! Word2003删除方法 1、打开文档并添加批注后,找到工具选项...
标签: Web开发
html head style body         { font-size: 10pt; background-color:#D4D0C8 } td           { font-size: 9pt } /style /head script language="javascript" /* 程序标题:javascr...
标签: Web开发
ajax的功能主要是应用在js上,ajax对asp没什么要求,asp只负责在后台显示及操作服务端的数据。 可以像下面这样思考: 1.写表单第一项(如用户名) 2.onblur事件(失去焦点)发生时开始验证,onblur="checkusername()" 3.js发一个请求给第一个asp(假定为ajaxusername.asp)如果从数据库中找到了这个用户,给出1(ajaxusername.asp所有内容就...
标签: 电脑入门
修改用户是用户们在操作过程中,很喜欢做的一件事,如何才能让电脑的登录用户名变成自己的名字或喜欢的名字呢?或许对于Windows系统来说,要做到这点其实并不是太难,但是对于MAC电脑来说,要修改登录用户名,就显得比较麻烦一些了。那么具体该如何操作呢,下面就一起来看看吧。 修改Mac电脑用户名的方法: 1、当你打开 Terminal(终端),...

经验教程

108

收藏

25
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部