一个用Ajax做的用户名验证程序
作者:zhanglincon 来源:zhanglincon的blog 发布时间:2007-10-21 20:40:00
标签:用户名,ajax
现在Ajax是一个相当火的东西,那么Ajax是什么呢?我的理解Ajax就是一个工具,就是一个客户端的技术,不管用何种服务器端技术都可以用Ajax。这里我说的是用java作为服务器端技术。闲言废语不要讲,表一表NB技术Ajax!
1,我先说一下这个例子要实现的效果,比如用户注册时要输入用户名,在输入完用户名,当用户输入下一项的时候,而且是在页面提交之前,利用Ajax判断用户输入的用户名是否合法可用。这就用到了Ajax的异步提交的作用
asp之家注:如果使用同步false验证的话代码会短很多,但是有个缺点,就是当服务器程序运行出问题或运行缓慢时,你的浏览器就处于假死状态,就是此时你什么都不能做,只能等着服务器返回信息,有时候甚至连电脑的其它程序都无法操作,一个字:卡...。
2,下面是程序的例子,一个用户输入数据的页面,一个是服务器端的相应。
<html>
<head>
<title>Ajax实例</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body >
<center>
<script language="javascript">
<!--
//创建XMLHttpRequest对象
function GetO(){
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}
function getMyHTML(serverPage, objID) {
var ajax = GetO();
//得到了一个html元素,在下面给这个元素的属性赋值
var obj = document.all[objID];
//设置请求方法及目标,并且设置为异步提交
ajax.open("GET", serverPage, true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {
//innerHTML是HTML元素的属性,如果您不理解属性那就理解为HTML元素的变量
//ajax.responseText是服务器的返回值(asp使用response.write "存在或不存在"即可),把值赋给id=passport1的元素的属性
//innerHTML这个属性或说这个变量表示一组开始标记和结束标记之间的内容
obj.innerHTML = ajax.responseText;
}
}
//发送请求
ajax.send(null);
}
function CheckGroupName(){
getMyHTML("http://www.***.com/check.jsp?action=checkgroupname&groupName="+name_form.group_name.value, "passport1");
}
//这个函数的作用是当用户的焦点从其他地方回到group_name这个输入框时再给属性赋回原内容
function sl(tx){
if(tx=='passport1'){
document.all[tx].innerHTML = "<div class='explain_blue' align='left'>4-20 个字符 (包括大小写字母,中文,数字,特殊字符等) 1个汉字等于2个字符,建议使用中文。注册后不可修改。</div>";
}
}
function check()
{
if(document.name_form.group_name.value.length<1)
{
alert("请您给您的群组取个名字!");
document.name_form.group_name.focus();
return false;
}
if(!OK()){
return false;
}
document.name_form.action='addgroup.do';
document.name_form.target='_parent';
document.name_form.submit();
}
function OK(){
var obj = document.getElementById("passport1");
if(obj.innerHTML.indexOf("可用")==-1){
return false;
}
return true;
}
-->
</script>
<form name="name_form" method=post>
<td height="200" valign="top" >
<table width="100%" height="270" border="1" bordercolor="#96D6E8" class="text12black">
<tr>
<td width="22%" height="20" align="right">用户名:</td>
<td width="61%" align="left">
<INPUT name="group_name" type="text" value="" size=30 maxlength="50" onBlur="javaScript:CheckGroupName();" onFocus="return sl('passport1');" />
</td>
<td id="passport1" valign="top"><div class="explain_blue" align='left' ><span class="gray">4-20 个字符 (包括大小写字母,中文,数字,特殊字符等) 1个汉字等于2个字符,建议使用中文昵称。注册后不可修改。</span></div>
</td>
</tr>
</table>
</td>
</form>
</BODY>
</html>
0
投稿
猜你喜欢
- 近来有客户要求用table显示一大串数据,由于滚动后就看不到表头,很不方便,所以想到这个效果。上次做table排序对table有了一些了解,
- 一般一个网站的首页访问量是最大的,如果您的网站的首页打开的非常缓慢,您的客户将会陆续离开你的网站.通常我们把需要经过复杂运算或者查询数据库得
- 代码如下:--销售冠军 --问题:在公司中,老板走进来,要一张每个地区销量前3名的销售额与销售员的报表 --- create t
- ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库。通常都是和一个Access或者一个SQL数据库相连。因为Access是最容易起
- 代码如下:create proc p_sword_getblcolumn ( @tblN
- 我不知道有多少人在使用浏览器的书签,这东东有时候实在是很有用的,比如现在说到的jQuerify书签。jQuerify书签的功能很简单,那就是
- 代码如下:Set Catalog_object= Server.CreateObject("ADO
- 内容摘要:asp使用最多的就是ACCESS数据库和ms sql server数据库,本文列出了asp连接这两个数据库的方
- 如何在一个广告旗帜里轮番显示时间长度不一的不同广告?好了,下面就是Ad Rotator组件完整的应用例子:adrot.asp<html
- 安装SQL Server 遇到错误提示:以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机!。找了半天
- CSS 中的 position 属性可以很容易的将指定的元素定位到理想的位置。但在使用这一属性时需要注意,尤其是在表格元素中。为了说明此问题
- 开始第一篇。老规矩,先无聊的谈论天气一类的话题。十一长假,天气也终于开始有些秋天的味道,坐在屋里甚至觉得需要热咖啡。话说两年前也是在国庆假期
- 代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001&quo
- 网上广泛流传的取 object 的绝对位置的做法是:var getAbsPos = function(pTar
- 各大云计算提供商(亚马逊、谷歌和微软)目前都使用了键/值存储方式。然而,在San Francisco召开的MSDN开发者大会上,微软宣布他们
- 一、软件包a) freetds-stable.gzb) php-5.2.12.tar.gz二、安装步骤a) tar zxvf freetds
- 欣赏上一篇:用画为5.12地震受灾同胞们祈福 今年我们的祖国多灾多难 雪灾的阴影还没散去又发生了地震。中国插画 * 举办5.12地震祈幅绘画活
- 从2004年开始,我开始进入雅虎的异常表现小组。我们是一个很小的队伍,专门针对雅虎的产品进行质量检测和改进,我作为一个后端工程师,现在却开始
- 本文给出了几个表单常用的js验证函数,有检查、\等特殊字符的,有检查是否含有空格,检查是否为Email 地址,也有检查是否是小数或负数的,检
- 当产品走到HTML Coding这块,多浏览器的测试是很重要,也很麻烦的一个环节。现在大家主要是保证IE6,7及Firefox的一致。bro