用Ajax来进行用户验证
<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");
[*]setMsg(msg.childNodes.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>
页:
[1]