六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 19|回复: 0

用Ajax来进行用户验证

[复制链接]

升级  4.67%

60

主题

60

主题

60

主题

举人

Rank: 3Rank: 3

积分
214
 楼主| 发表于 2013-1-29 09:35:18 | 显示全部楼层 |阅读模式
<div class="highlighter">

  • <scripttype="text/javascript">
  • functionvalidate()
  • {
  • varidField=document.getElementById("username");
  • //escape函数的作用是将非英文字符转为一种特殊的编码
  • //如果想把一个值放在URL中就用这个函数
  • //alert(idField.value);
  • varurl="validate.jsp?username="+escape(idField.value);
  • //不同浏览器生成XMLHttpRequest对象的方法是不一样的
  • if(window.XMLHttpRequest)
  • {
  • req=newXMLHttpRequest();//Escape的浏览器的生成方法
  • }elseif(window.ActiveXObject)
  • {
  • req=newActiveXObject("Microsoft.XMLHttp");//IE的生成方法
  • }
  • req.open("GET",url,true);
  • req.onreadystatechange=callback;//当req的状态发生变化时调用callback函数,
  • //不要写成callback();不能用括号
  • req.send(null);
  • }
  • functioncallback()
  • {
  • if(req.readyState==4)//readyState==4的时候为请求完成
  • {//注意,此时即使是发生错误(如找不到页面),服务器也是会返回4这个值的
  • if(req.status==200)//所以还要判断.当状态==200时为正常返回(如500时是服务器出错)
  • {
  • varmsg=req.responseXML.getElementsByTagName("msg")[0];
  • setMsg(msg.childNodes[0].nodeValue);
  • }
  • }
  • }

  • functionsetMsg(msg)
  • {
  • //alert(msg);
  • if(msg=="invalid")
  • {
  • document.getElementById("usermsg").innerHTML="<fontcolor='red'>用户名无效</font>";
  • }
  • else
  • {
  • document.getElementById("usermsg").innerHTML="<fontcolor='green'>可以注册</font>";
  • }
  • }
  • </script>

  • <tr>
  • <tdwidth="117">用户名:</td>
  • <tdwidth="280"><label>
  • <inputtype="text"name="username"id="username"onblur="validate()">
  • </label>
  •   </td>
  •    <td><divid="usermsg"></div></td>放在一个TD中能让其不变形
  • </tr>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表