主题:[讨论]asp和javascript交互发问题!
zhangzhizhen
[专家分:0] 发布于 2006-09-20 14:14:00
我要做个注册页面的 注册名的验证,验证方法如下:
你的名字:<iuput type=text name=username value="" onblur="<%=yanzheng()%>">
就是当鼠标离开那个文本框时就连数据库,并对当前用户输入的名字进行数据库的查询验证。。
请问要怎么写啊??
回复列表 (共3个回复)
沙发
aiprogram [专家分:130] 发布于 2006-10-02 01:36:00
用js写个验证函数
板凳
hongyishizhe [专家分:40] 发布于 2006-10-24 08:59:00
用异步读取数据,返回结构给本页面
AJAX就能满足你的要求
3 楼
iptton [专家分:160] 发布于 2006-12-07 00:38:00
<input id="user" type="text" onblur="checkUser(this.value);" /><span id="validUser" style="color:#ff0000"></span>
<script language="javascript">
var xhr;
if(window.ActiveXObject)
xhr=new ActiveXObject("Microsoft.XMLHTTP");
else
xhr=new XMLHttpRequest();
function checkUser(userName){
var xhrmethod="POST";
var xhrurl="validUser.asp";
var xhrasyn=true;
alert("checking...");
xhr.onreadystatechange=cbValidUser;
xhr.open(xhrmethod,xhrurl,xhrasyn);
if(xhrmethod=="POST")
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
if (xhr.overrideMimeType)
xhr.overrideMimeType('text/xml');
document.getElementById("validUser").innerHTML="正在向服务器发送验证信息...";
xhr.send("?userName="+userName);
}
function cbValidUser(){
alert("in cbValidUser");
if(xhr.readyState==200 && xhr.status==4){
if(xhr.responseText!=1){
document.getElementById("validUser").innerHTML="该用户名已被注册,请重新输入";
document.getElementById("user").setFocus();
}else{
document.getElementById("validUser").innerHTML="恭喜,该用户名未被被注册";
}
}
}
</script>
以上是客户端JS代码
服务端代码 validUser.asp 的产生的内容应为:
(相当于一个表单用POST的方式传了一个userName)
当userName可用时,此页面应该只显示一个数字 1 (不要任何其它东西!!包括<html>等不可见TAG)
我来回复