AJAX 学习笔记[八] AJAX 制作可自动校验的表单
客户端代码(9-9.html ):
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html> |
| <head> |
| <title>自动校验的表单</title> |
| <style type="text/css"> |
| <!-- |
| form{ |
| padding:0px; margin:0px; |
| font-size:12px; |
| font-family:Arial, Helvetica, sans-serif; |
| } |
| input{ |
| border:1px solid #004082; |
| font-size:12px; |
| font-family:Arial, Helvetica, sans-serif; |
| } |
| --> |
| </style> |
| <script language="javascript"> |
| var xmlHttp; |
| function createXMLHttpRequest(){ |
| if(window.ActiveXObject) |
| xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); |
| else if(window.XMLHttpRequest) |
| xmlHttp = new XMLHttpRequest(); |
| } |
| function showResult(sText){ |
| var oSpan = document.getElementById("UserResult"); |
| oSpan.innerHTML = sText; |
| if(sText.indexOf("already exists") >= 0) |
| //如果用户名已被占用 |
| oSpan.style.color = "red"; |
| else |
| oSpan.style.color = "black"; |
| } |
| function startCheck(oInput){ |
| //首先判断是否有输入,没有输入直接返回,并提示 |
| if(!oInput.value){ |
| oInput.focus(); //聚焦到用户名的输入框 |
| document.getElementById("UserResult").innerHTML = "User cannot be empty."; |
| return; |
| } |
| //创建异步请求 |
| createXMLHttpRequest(); |
| var sUrl = "9-9.aspx?user=" + oInput.value.toLowerCase() + "×tamp=" + new Date().getTime(); |
| xmlHttp.open("GET",sUrl,true); |
| xmlHttp.onreadystatechange = function(){ |
| if(xmlHttp.readyState == 4 && xmlHttp.status == 200) |
| showResult(xmlHttp.responseText); //显示服务器结果 |
| } |
| xmlHttp.send(null); |
| } |
| </script> |
| </head> |
| <body> |
| <form name="register"> |
| <table cellpadding="5" cellspacing="0" border="0"> |
| <tr><td>用户名:</td><td><input type="text" onblur="startCheck(this)" name="User"></td> <td><span id="UserResult"></span></td> </tr> |
| <tr><td>输入密码:</td><td><input type="password" name="passwd1"></td> <td></td> </tr> |
| <tr><td>确认密码:</td><td><input type="password" name="passwd2"></td> <td></td> </tr> |
| <tr> |
| <td colspan="2" align="center"> |
| <input type="submit" value="注册"> |
| <input type="reset" value="重置"> |
| </td> <td></td> |
| </tr> |
| </table> |
| </form> |
| </body> |
| </html> |
服务器端代码(9-9.aspx ):
| <%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %> |
| <%@ Import Namespace="System.Data" %> |
| <% |
| Response.CacheControl = "no-cache"; |
| Response.AddHeader("Pragma","no-cache"); |
| if(Request["user"]=="isaac") |
| Response.Write("Sorry, " + Request["user"] + " already exists."); |
| else |
| Response.Write(Request["user"]+" is ok."); |
| %> |
| 作者: XuGang 网名:钢钢 |
| 出处: http://xugang.cnblogs.com |
| 声明: 本文版权归作者和博客园共有。转载时必须保留此段声明,且在文章页面明显位置给出原文连接地址! |
浙公网安备 33010602011771号