<script type="text/javascript"> var req; function validate(){ var idField=document.getElementById("userid"); //拿到id号为userid的那个元素 var url="validate.jsp?id="+escape(idField.value);//建立url地址,escape:将一个值转化为url if(window.XMLHttpRequest){ //初始化req对象,根据不同浏览器设定不同的值 req=new XMLHttpRequest(); }else if(window.ActiveXObject){ //ie浏览器 req=new ActiveXObject("Microsoft.XMLHTTP"); } req.open("GET", url, true); //open:打开url;true:使用异步模式;GET:打开的方法(另一个方法为post) req.onreadystatechange=callback; //当状态发生变化的时候,调用callback方法 //readystate:状态值(0:还没初始化;1:请求还没发到客户端;2:请求已经发过去,并且服务器段给了头部反馈,内容还没有; //3:头信息已经拿到,内容正在取得之中;4:已经取完了,服务器端处理完毕) req.send(null); } function callback(){ if(req.readyState==4){ //当服务器端处理完毕 if(req.status==200){ //反映正常 var msg=req.responseXML.getElementsByTagName("msg")[0];//根据标签名字拿到标签元素,拿到第1个元素 setMsg(msg.childNodes[0].nodeValue); //拿到对应的值 } } } function setMsg(msg){ if(msg=="invalid1") document.getElementById("usermsg").innerHTML="<font color='red'>用户名已经存在</font>"; //动态指定usermsg的内容 else if(msg=="invalid2") document.getElementById("usermsg").innerHTML="<font color='red'>用户名有特殊符号</font>"; else if(msg=="invalid3") document.getElementById("usermsg").innerHTML="<font color='red'>用户名长度至少为3</font>"; else if(msg=="invalid4") document.getElementById("usermsg").innerHTML="<font color='red'>用户名不能为汉字</font>"; else document.getElementById("usermsg").innerHTML="<font color='red'>恭喜,用户名可以使用</font>"; } </script>