当前位置:编程学习 > JS >>

ajax判断用户名是否存在

var xmlhttp ;
function demo(){
var sid = document.all.name.value;
if(sid==""){
document.getElementById("s").innerHTML = "用户名不能为空";
return false;
}
else if(sid!=""){
if(window.ActiveXObject){
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}else{
xmlhttp = new XMLHttpRequest();
}
var url = "user.do?option=validate&name="+sid;
xmlhttp.open("POST",url,true);
xmlhttp.onreadyStatechange = function(){
if(xmlhttp.readyState == 4){
var str = xmlhttp.responseHtml;
alert(str);
if(str == "1"){
document.getElementById("s").innerHTML = "用户名已被占用";
return false;
}else{
document.getElementById("s").innerHTML = "用户名可以使用";
return true;
}
}
}
xmlhttp.send(null);
}
}
帮忙看下,return false不起作用,不知道是什么问题
补充:alert(str)跳出的提示框中显示的是undefined
追问:那servlet和web.xml应该怎么配置啊
答案:
return返回给的是xmlhttp.onreadyStatechange,所有还是会提交action
function getXmlHttp(){ 
var http_request = 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){
alert('不能创建XMLHTTP实例!');
return false;
}
return http_request;
}
function checkName(){
var ul="/servlet/AjaxUserNameCheckServlet?userName=" + document.getElementById("userName").value;
req = getXmlHttp();
req.onreadystatechange = result;
req.open("GET",ul,true);
req.setRequestHeader('If-Modified-Since', '0');
req.send(null);
}
function result(){
//判断状态,4是已发送,200已完成
if(req.readyState == 4 && req.status == 200){
if (req.responseText.toString()!="false"){
document.getElementById("viewResult").innerHTML ="用户名已被占用!";
}else{
document.getElementById("viewResult").innerHTML ="该用户名可以使用!";
}
}
}
我写过的检查验证姓名是否存在,如果只是return false没用与Ajax没关的,注意后台servlet和web.xml的配置
在页面的webconfig中添加<httpHandlers>节点,然后加入以下语句<add verb="GET,POST" path="User.do" type="UserHandler"/> UserHandle.cs就是你的判断用户存在不存在的后台cs代码,在网站设置中设置.do类型为不检查文件是否存在即可实现.

上一个:.Net和Ajax的发音
下一个:ajax的文本转下拉提示框的实现

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,