Ajax表单验证用户名是否存在_Ajax编程_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

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

作者:黑客防线网安Ajax教程基地 来源:黑客防线网安Ajax教程基地 浏览次数:0

本篇关键词:是否存在用户验证
黑客防线网安网讯:做一个表单验证里面最简单的例子,检查用户名是否存在,使用Ajax完成表单验证的正常步骤应该是:客户端收集表单信息。 使用XMLHttpRequest对象提交到服务器。 服务器完成验证的逻辑,返回结...

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

客户端收集表单信息

使用XMLHttpRequest对象提交到服务器

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

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

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

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函数了:

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.rongsen.com.cn/show-15602-1.html
网站维护教程更新时间:2012-04-05 00:04:12  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer