asp怎样结合Ajax实现验证表单中的数据

就是当用户在text表单中输入用户名后,同步显示该用户名是否被注册以及检测输入是否正确的字符... 就是当用户在text表单中输入用户名后,同步显示该用户名是否被注册以及检测输入是否正确的字符 展开
 我来答
風中的那个疯子
2009-09-21 · TA获得超过171个赞
知道答主
回答量:90
采纳率:0%
帮助的人:77.9万
展开全部
这东西实现起来其实也不难,但是人家写出来的代码不能直接引用,说好像也不怎么好说,我尽量写得让人容易懂的,希望你看得懂吧,我尽力了!这是我曾经写过的一个,我将

一些东西改了一下,你只需要按照注释改改你需要改的东西就行了。

1 首先你要新建一个名称为ajax_user.asp的ASP文件,将里面的HTML全部清空(记住是全部)!就是一个空白文件,保存到你注册页面文件同级目录下,然后加上这些代码:
(这个文件按照你实际情况改好了后,最好在浏览器打出这个文件的路径并在路径后面加上?user=aaaa测试一下,如果没提示错误,就可以了,)
===============ajax_user.asp的内容==================(不要复制我)

<%response.Charset="gb2312"%>
<%
'定义变量user用来储存ajax发送请求链接中带的user值
set conn = server.createobject("ADODB.connection")
conn.open "driver={microsoft Access driver (*.mdb)};dbq="&server.mappath("数据库路径") '此处需要作实际改动!

dim user
user = request.querystring("user")
if user<>"" then
set rs_user = server.createobject("ADODB.recordset")
rs_user.open "select * from 会员表 where 账号字段='"&user&"'",conn,1,1 '此处需要作实际改动!
if rs_user.eof then
'用户名可用的提示信息,可以依实际情况改动!
response.write "<font color='green'>恭喜,此用户名可用!</font>"
else
'用户名不可用的提示信息,可以依实际情况改动!
response.write "<font color='red'>此用户名已被注册!</font>"
end if
end if
%>

===============ajax_user.asp的内容==================(不要复制我)

2 然后在你的注册页面的<head></head>之间加上如下代码:

<script type="text/javascript" language="javascript">
http_request = null;
function createAjax(){
if(window.XMLHttpRequest){
//Mozilla,Safari
http_request = new XMLHttpRequest();
if(http_request.overrideMimeType){
http_request.overrideMimeType('text/xml');
}
}else if(window.ActiveXObject){
//IE
try{
http_request = new ActiveXObject("Mszml2.XMLHTTP");
}catch (e){
try{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
alert("exception");
}
}
}
}

//==============需要改动的都在右边作了注释的!================
function user_add(){
var user = document.getElementById("账号输入文本框的id").value; //此处需要作实际改动!
var url = "ajax_user.asp?user="+user; //ajax_user.asp的路径不要动
var myDate = new Date();
var hours = myDate.getHours();
var minutes = myDate.getMinutes();
var seconds = myDate.getSeconds();
var times = hours+"H"+minutes+"M"+seconds+"S";
//post auto saved data
if(user!="" && user.length>=3 && user.length<=6){ //此处需要作实际改动,3和6分别为用户名要求的最少字符数和最多字符数
createAjax();
http_request.onreadystatechange=user_Ajax;
http_request.open("POST",url+"×="+times,true);
http_request.send(null);
}
}

function user_Ajax(){
var warningDiv = document.getElementById("显示提示信息的容器的id"); //此处需要作实际改动!
if(http_request.readyState == 4){
if(http_request.status == 200 || http_request.status == 0){
var requestContent = http_request.responseText;
warningDiv.innerHTML = requestContent;
}else if(http_request.status == 404 || http_request.status == 2){
alert("404 (Not Found),未找到请求文件!");
}else{
alert("请求数据过程中出现错误!"+http_request.status);
}
}else{
warningDiv.innerHTML = "检测中...";
}
}
</script>

3 接着在你的账号文本框里加入如下属性:
假如这个是账号文本框
<input type="text" name="user" id="user" onblur="user_add()"/>
那么,当输入完毕点账号文本框失去焦点就会检测
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式