ASP 注册页面,同步检测用户名是不是已存在

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP 注册页面,同步检测用户名是不是已存在相关的知识,希望对你有一定的参考价值。

搜索了很多,但由于是非专业,很多代码不是很明白,所以请高手指点!写出详细的javascript代码
当用户输入用户名之后,系统自动检测该用户名是否存在,并且在检测时要有提示,如:正在检测用户名,以下是我的注册页面,请写出javascript代码
<html>
<head>
</head>

<body>
<form name="form1" method="post" action="">
<table width="600" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="300" height="25" align="right" valign="middle">用户名:
<label>
<input name="tuser" type="text" id="tuser" onBlur="usercheck();">
</label></td>
<td width="300"><div id="tishi"></div></td>
</tr>
<tr>
<td height="25" align="right" valign="middle">密码:
<label>
<input name="pw" type="password" id="pw">
</label></td>
<td valign="top"><!--DWLayoutEmptyCell--> </td>
</tr>
<tr>
<td height="0"></td>
<td></td>
</tr>
</table>
</form>
</body>
</html>
还是把我搜到的贴出来吧!通过了测试,但是速度稍慢,所以很不满意,希望高手修改的让我更满意!
<script type="text/javascript">
var xmlHttp=false;
//创建xmlhttprequest
function createXMLHttpRequest()

//如果是ie
if (window.ActiveXObject)

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

//如果不是ie
else if (window.XMLHttpRequest)

xmlHttp = new XMLHttpRequest;



function RegUserCheck()

createXMLHttpRequest();
user=document.getElementById("tuser").value;
xmlHttp.open("get","checkuser.asp?tuser="+user+"",true);

xmlHttp.send();
//想在此处加一个真正检测的提示
if (xmlHttp.responseText==0)

document.getElementById('chekRegName').innerHTML="可以注册";

else if (xmlHttp.responseText==1)

document.getElementById('chekRegName').innerHTML="此用户名已被占用";

else

document.getElementById('chekRegName').innerHTML="用户名检测时发生错误";



</script>

单纯的javascript无法实现你的需求>>同步检测用户名是否已存在
还是需要访问服务器端的数据库
楼下仁兄的写法只是检查输入是否为空,是否符合格式
更多功能,去下载一个完整的例子
------------------------------------------------------
建议使用现成的控件,比如jquery或者moo之类的,实时异步查询服务器数据
这个还是要自己写个服务端.网络上jquery的例子推成山了,现成的应该有很多
比如jquery实现账号注册,jquery服务器端交互之类的
参考技术A <script language="vbscript">
sub cleck

if not form1.pwd.value=form1.pass.value then
alert"两次密码输入不一样"
exit sub
end if

if form1.username.value="" or form1.pwd.value="" or form1.name.value="" or form1.idcard.value="" or form1.email.value="@" then
alert"“帐号”“密码”不能为空"
exit sub
end if

form1.submit

end sub
</script>
<table width="361" border="5" align="center" cellspacing="0">
<tr>
<th width="65" align="center">帐号:</th>
<td width="278"><label>
<input name="username" type="text" id="username" size="18" maxlength="9" />
*</label></td>
</tr>
<tr>
<th align="center">密码:</th>
<td><label>
<input type="password" name="pwd" id="pwd" />
</label></td>
</tr>
<tr>
<th align="center">重复密码:</th>
<td><label>
<input type="password" name="pass" id="pass" />
</label></td>
</tr>
</table>

这样明白吧?
参考技术B 建议使用ajax实现。 参考技术C 可以使用JQuery或者其它Javascript框架,这样可以简化Ajax客户端代码。相关资料百度一下吧

利用AJAX+PHP+MySQL实现不重新加载页面进行用户名已注册检测

  • AJAX简介

AJAX全称——Asynchronous JavaScript and XML(异步JavaScript和XML)。使用AJAX,页面中用户的操作将通过AJAX引擎与服务器端进行通信,然后将返回结果提交给客户端页面的AJAX引擎,再由AJAX引擎来决定将这些数据插入到页面的指定位置。 AJAX只会返回修改部分的数据,并不会更新整个网页,但如果直接将数据提交到PHP服务器则会重新加载整个网页。
给出的代码都是可以直接复制测试的,修改下自己数据库的相关信息就可以了
  • 服务器端处理代码(check.php)

<?php header('Content-type: text/html;charset=utf-8');//指定发送数据编码格式为utf-8 $link = mysqli_connect("localhost","root","","test1","3306");//连接数据库 mysqli_query($link,"set names utf8");//设置数据库编码 $username = $_GET['username'];//获取请求中附带的用户名 $sql = "select * from tb_user where username='".$username."'"; $res = mysqli_query($link,$sql);//执行sql语句 $info = mysqli_fetch_array($res);//以数组形式返回数据集 if($info){ echo "用户名[".$username."]已被注册!"; }else{ echo "可以使用用户名[".$username."]"; }?>
  • 客户端处理代码(index.php)

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>利用AJAX实现不重新加载页面进行用户名已注册检测</title> <style type="text/css"> .back { width: 400px; height: 300px; margin: 100px auto; } .login { width: 400px; height: 250px; background: #bbb; } .back article { text-align: center; margin: 0 auto; font-size: 21px; font-weight: bold; } .login form p { text-align: center; } .tmp { color: #cccccc; } .user, .pwd { width: 200px; height: 30px; border: solid #ccc 1px; border-radius: 3px; padding-left: 32px; margin-top: 50px; margin-bottom: 10px; } .pwd { margin-top: 0; } .submit, .rest { width: 116px; height: 30px; background: rgba(0, 0, 0, .1); border: solid #ccc 1px; border-radius: 3px; } .submit:hover { cursor: pointer; background: #D8D8D8; } .rest:hover { cursor: pointer; background: #D8D8D8; }</style> <script type="text/javascript">        var http_request = false//初始化请求变量        /*由于IE游览器和谷歌火狐等浏览器创建XMLHttpRequest对象的方式不同 所以这里将两种创建XMLHttpRequest对象的代码都写上了 */ function createRequest(url) {//初始化对象并发出XMLHttpRequest请求 http_request = false; if (window.XMLHttpRequest) { //判断是否火狐、谷歌等其他浏览器 http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType("text/xml"); } } else if (window.ActiveXObject) { //判断是否IE浏览器 try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert("浏览器不能创建XMLHTTP实例!"); return false; } http_request.onreadystatechange = alertContents; //当readyState发生改变时调用alertContents() //也就是请求被发送到服务器时,调用alertContents函数来处理
http_request.open("GET", url, true); //以GET方式发出HTTP请求,true(异步)、false(同步) http_request.send(null);//传递参数(仅POST方式有效) }
function alertContents() { //处理服务器返回的信息 if (http_request.readyState == 4) { //表示响应已完成 if (http_request.status == 200) {//表示交易成功 window.alert(http_request.responseText);//输出字符串形式的响应数据 } else {                    alert('您请求的页面发生错误'); return false; } } }</script> <script type="text/javascript"> function check() { var username = myform.user.value; //获取用户名文本框的值 if (username == "") { window.alert("请填写用户名!"); myform.user.focus(); //文本框获得焦点 return false; } else { createRequest('check.php?username=' + username + '&nocache=' + new Date().getTime()); } }</script></head>
<body> <section class="back"> <article>注册</article> <section class="login"> <form name="myform"> <p> <input type="text" name="user" class="user" placeholder="用户名" onchange="check()"> </p> <p><input type="password" name="password" class="pwd" placeholder="密码"></p> <p> <input type="submit" class="submit" value="注册"> <input type="reset" class="rest" value="重置"> </p> </form> </section> </section></body></html>
  • 运行结果如图:

以上是关于ASP 注册页面,同步检测用户名是不是已存在的主要内容,如果未能解决你的问题,请参考以下文章

注册页的基本逻辑操作

1.3 博客系统 |注册页

怎么在一个页面上实现先打开一个注册页,注册完后再跳转到原页面?

django 制作web网站,动态页面数据已更新,但是无法刷新,这是怎么回事?是页面缓存吗?

在JSP页面下使用AJAX实现用户名存在的检测

注册页面的用户验证电子邮件