最近由于工作需要,在注册用户的是要要做检测,察看要注册的用户名是否存在(没有把法客户是越来越懒,只能把产品做的智能化点)。 刚开始检测的时候要刷新整个页面,感觉有的气愤,在想有没有方法可以不刷新呀!呵呵……功夫不负有心人总算让俺给找到了,现在就拿出来和大家分享!
首先写个JS文件内容如下:
var http_request = false;
function send_request(url){
http_retuest = false;
if(window.XMLHttpRequest){
http_request = new XMLHttpRequest();
if(http_request.overrideMimeType){
http_request.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject){
try{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
try{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){}
}
}
if(!http_request){
return false;
}
http_request.onreadystatechange = processRequest;
http_request.open("POST",url,true);
http_request.send(null);
}
function processRequest(){
if(http_request.readyState == 4){
if(http_request.status == 200){
var a = http_request.responseText;
document.getElementById("errorInfo").value = a;
}
else{
document.getElementById("errorInfo").value = "检测错误!";
}
}
}
对上面的代码做个简单说明。主要用的是XMLHttpRequest对象给服务器提交数据(详情请阅读AJAX方面的书籍)。
其次:在要验证的页面写:
function userCheck(){
var f = document.form1;
var user = f.UserName.value;
if(user == ""){
alert("输入不能为空!");
f.UserName.focus;
return false;
}
else{
f.errorInfo.value = "检测中...";
send_request("CheckUser.aspx?u=" + user);
}
<input type="button" value="检测用户名是否已被注册" οnclick="userCheck()" />
CheckUser.aspx这个页面就是自己写的验证代码。
好了,到这里就结束了,是不是很简单呀!呵呵……