登录
注册
程序人生
个人空间
个人相册
帮助
界面
简洁版本
拼吾爱程序人生
其他编程
Ajax
用AJAX编写用户注册实例及技术小结
Web
www.pin5i.com
输入您的搜索字词
提交搜索表单
.Net编程
Asp.Net
C#
ADO.Net
Visual Studio.NET
Silverlight
F#
WCF
WPF
Linq
其他编程
Java
Ajax
javascript
RegExp
XML
Web Service
C & C++
Ruby
Flex
PHP
数据库编程
SQL
SQL Server
Oracle
DB2
MySQL
Other DB
编程应用
软件测试
应用系统
SEO
Google Adsense
建站软件
程序人生
程序人生
社区管理
网站事务
公益活动
管理团队
回收站
1
/ 1 页
1
跳转
页
查看:
1394
用AJAX编写用户注册实例及技术小结
Systemjudge
个人空间
相册
性别:
来自:
积分:
6204
帖子:
6032
注册:
2007-04-10
2007-08-06 05:05
|
只看楼主
树型
|
收藏
|
小
中
大
复制帖子链接到剪贴板
1F
用AJAX编写用户注册实例及技术小结
这个例子是一个企业用户注册时的一个应用,当用户注册时检查用户名和企业名是否可用,以前的做法是在旁边加一个按钮,点击“检查”,就向服务器发出请求,然后等待……服务器返回信息,继续操作。如果我们用Ajax技术来实现以上的操作则不必等待服务器返回信息,用户输入用户名或企业名称的时候,当输入文本框失去焦点的时候,则会自动向服务器发出请求,用户继续做下面的操作,不必点击“检查”,也不必等待服务器返回信息,检查与用户操作是异步的,可同时进行。当服务器信息返回的时候,会自动在面页相应位置显示返回信息,不必刷新页面,相当于局部刷新的效果。
下面我们来看代码吧。
HTML页面的完整代码如下:
1<%@page language="java" c%>
2<script language="javascript" type="text/javascript">
3<!--
4/**//**Ajax 开始 by Alpha 2005-12-31*/
5
6 var http = getHTTPObject();
7
8 function handleHttpResponse(){
9 if(http.readyState == 4){
10 if(http.status == 200){
11 var xmlDocument = http.responseXML;
12 if(http.responseText!=""){
13 document.getElementById("showStr").style.display = "";
14 document.getElementById("userName").style.background= "#FF0000";
15 document.getElementById("showStr").innerText = http.responseText;
16 }else{
17 document.getElementById("userName").style.background= "#FFFFFF";
18 document.getElementById("showStr").style.display = "none";
19 }
20
21 }
22 else{
23 alert("你所请求的页面发生异常,可能会影响你浏览该页的信息!");
24 alert(http.status);
25 }
26 }
27 }
28
29 function handleHttpResponse1(){
30 if(http.readyState == 4){
31 if(http.status == 200){
32 var xmlDocument = http.responseXML;
33 if(http.responseText!=""){
34 document.getElementById("comNmStr").style.display = "";
35 document.getElementById("comNm").style.background= "#FF0000";
36 document.getElementById("comNmStr").innerText = http.responseText;
37 }else{
38 document.getElementById("comNm").style.background= "#FFFFFF";
39 document.getElementById("comNmStr").style.display = "none";
40 }
41
42 }
43 else{
44 alert("你所请求的页面发生异常,可能会影响你浏览该页的信息!");
45 alert(http.status);
46 }
47 }
48 }
49
50 function chkUser(){
51 var url = "/chkUserAndCom";
52 var name = document.getElementById("userName").value;
53 url += ("&userName="+name+"&oprate=chkUser");
54 http.open("GET",url,true);
55 http.onreadystatechange = handleHttpResponse;
56 http.send(null);
57 return ;
58 }
59 function chkComNm(){
60 var url = "/chkUserAndCom";
61 var name = document.getElementById("comNm").value;
62 url += ("&comName="+name+"&oprate=chkCom");
63 http.open("GET",url,true);
64 http.onreadystatechange = handleHttpResponse1;
65 http.send(null);
66 return ;
67 }
68
69 //该函数可以创建我们需要的XMLHttpRequest对象
70 function getHTTPObject(){
71 var xmlhttp = false;
72 if(window.XMLHttpRequest){
73 xmlhttp = new XMLHttpRequest();
74 if(xmlhttp.overrideMimeType){
75 xmlhttp.overrideMimeType('text/xml');
76 }
77 }
78 else{
79 try{
80 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
81 }catch(e){
82 try{
83 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
84 }catch(E){
85 xmlhttp = false;
86 }
87 }
88 }
89 return xmlhttp;
90 }
91/**//**Ajax 结束*/
92
93//检测表单
94function chkpassword()
95{
96 var m=document.form1;
97 if(len(m.password.value) > 20 || len(m.password.value) < 5 || !isStr(m.password.value))
98 {
99 document.getElementById("passwordStr").style.display = "";
100 document.getElementById("password").style.background= "#FF0000";
101 document.getElementById("passwordStr").innerText = "对不起,密码必须为英文字母、数字或下划线,长度为5~20!";
102 }
103 else
104 {
105 document.getElementById("password").style.background= "#FFFFFF";
106 document.getElementById("passwordStr").style.display = "none";
107 }
108}
109
110function chkconfirmPassword()
111{
112 var m=document.form1;
113 if (m.password.value != m.confirmPassword.value)
114 {
115 document.getElementById("confirmPasswordStr").style.display = "";
116 document.getElementById("confirmPassword").style.background= "#FF0000";
117 document.getElementById("confirmPasswordStr").innerText = "对不起,密码与重复密码不一致!";
118 }
119 else
120 {
121 document.getElementById("confirmPassword").style.background= "#FFFFFF";
122 document.getElementById("confirmPasswordStr").style.display = "none";
123 }
124}
125
126function checkfield()
127{
128 var m=document.form1;
129 if(m.userName.value.length==0)
130 {
131 alert("对不起,用户名必须为英文字母、数字或下划线,长度为5~20。");
132 m.userName.focus();
133 return false;
134 }
135 if(m.password.value.length==0)
136 {
137 alert("对不起,密码必须为英文字母、数字或下划线,长度为5~20。");
138 m.password.focus();
139 return false;
140 }
141 if (m.password.value != m.confirmPassword.value)
142 {
143 alert("对不起,密码与重复密码不一致!");
144 m.confirmPassword.focus();
145 return false;
146 }
147 if(m.comNm.value.length==0)
148 {
149 alert("对不起,企业名称不能为空!!");
150 m.comNm.focus();
151 return false;
152 }
153 m.submit();
154}
155
156//-->
157</script>
158<body topmargin="0">
159<form name="form1" method="post" action="/Control?act=Register">
160<table width="100%">
161 <tr><td align="center"> <H2>Ajax 演示程序</H1></td></tr>
162 <tr><td align="center"> ------ 企业注册 By Alpha</td></tr>
163</table>
164
165<HR>
166 <table width="400" border="0" cellpadding="1" cellspacing="1" align="center" >
167 <tr>
168 <td><font color="red">*</font></td>
169 <td>用户帐号:</td>
170 <td>
171 <input type="text" name="userName" maxlength="20" style="background:#FFFFFF" value=""/>
172 <div id="showStr" style="background-color:#FF9900;display:none"></div>
173 </td>
174 </tr>
175 <tr>
176 <td><font color="red">*</font></td>
177 <td>企业名称:</td>
178 <td>
179 <input type="text" name="comNm" maxlength="100" style="background:#FFFFFF" value=""/>
180 <div id="comNmStr" style="background-color:#FF9900;display:none"></div>
181
182 </td>
183 </tr>
184 <tr>
185 <td><font color="red">*</font></td>
186 <td>用户密码:</td>
187 <td><input type="password" name="password" maxlength="20" style="background:#FFFFFF" />
188 <div id="passwordStr" style="background-color:#FF9900;display:none"></div>
189 </td>
190 </tr>
191 <tr>
192 <td><font color="red">*</font></td>
193 <td>确认密码:</td>
194 <td><input type="password" name="confirmPassword" maxlength="20" style="background:#FFFFFF" />
195 <div id="confirmPasswordStr" style="background-color:#FF9900;display:none"></div>
196 </td>
197 </tr>
198 </table>
199
200 <div align="center">
201 <input type="button" name="ok" value=" 确 定 " >
202
203 <input type="reset" name="reset" value=" 取 消 ">
204 </div>
205
206</form>
207</body>
208</html>
感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
您可能对 [Ajax] 的这些文章也感兴趣:
ASP.NET Ajax调用WCF服务的代码示例
将java和Ajax结合在一起
Ajax基础入门:Tags标记
AJAX开发工具Atlas:实现机制浅析(三)
Ajax访问Xml Web Service的安全问题以及解决方案
利用AJAX与数据岛实现无刷新绑定
Google Ajaxslt 使用
JavaScript实现AJAX的拖动效果
Sun公司任命Ajax首席架构师 显示对Ajax信心
AJAX基础教程
发送短消息
查看公共资料
查找该会员全部帖子
UID:
4
精华:
7
威望:
20
金钱:
1632.3 拼元
状态:
离线
Systemjudge
个人空间
相册
性别:
来自:
积分:
6204
帖子:
6032
注册:
2007-04-10
2007-08-14 00:14
|
只看楼主
树型
|
收藏
|
小
中
大
复制帖子链接到剪贴板
2F
回复:用AJAX编写用户注册实例及技术小结
用JavaScript来创建XMLHttpRequest 类向服务器发送一个HTTP请求后,接下来要决定当收到服务器的响应后,需要做什么。这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应。可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示:xmlhttp_request.onreadystatechange =FunctionName;
网络核战不可避免!
发送短消息
查看公共资料
查找该会员全部帖子
UID:
4
精华:
7
威望:
20
金钱:
1632.3 拼元
状态:
离线
<<
上一主题
|
下一主题
>>
1
/ 1 页
1
跳转
页
快速回复帖子
标题
禁用 URL 识别
禁用表情
禁用 Discuz!NT 代码
使用个人签名
default
正在加载表情...
[完成后可按 Ctrl+Enter 无刷新发布]
论坛跳转...
.Net编程
Asp.Net
C#
ADO.Net
Visual Studio.NET
Silverlight
F#
WCF
WPF
Linq
其他编程
Java
Eclipse
Spring
EJB
Ajax
ExtJS
Dojo
javascript
jQuery
RegExp
XML
Web Service
C & C++
Ruby
Flex
PHP
数据库编程
SQL
SQL Server
Oracle
DB2
MySQL
Other DB
编程应用
软件测试
应用系统
SEO
Google Adsense
建站软件
程序人生
程序人生
社区管理
网站事务
公益活动
管理团队
回收站
下载权限不够?五招教你快速提升权限。。。
下载权限不够?五招教你快速提升权限。。。
我的主题
我的帖子
我的精华
我的空间
我的相册
帖子标题
空间日志
相册标题
作 者
我的主题
我的帖子
我的附件
我的精华
我的空间
我的相册