加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AJAX验证是否重复

发布时间:2020-12-16 01:29:57 所属栏目:百科 来源:网络整理
导读:AJAX验证用户代码重复 当焦点一离开就去检查 1.input对象的onblur事件 onblur="validate(this)" 2. 创建XMLHttprequest对象 function validate(field){if(trim(field.value).length != 0){var xmlhttp= null;if (window.XMLHttpRequest)span style="white-sp
AJAX验证用户代码重复

当焦点一离开就去检查

1.input对象的onblur事件

onblur="validate(this)"


2. 创建XMLHttprequest对象

function validate(field){
	if(trim(field.value).length != 0){
	var xmlhttp= null;
	if (window.XMLHttpRequest)
	<span style="white-space:pre">	</span>{// 表示当前浏览器不是IE,如 Firefox,Chrome,Opera,Safari
		    xmlHttp=new XMLHttpRequest();
		}else{// IE浏览器
		    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}


3. xmlHttp.open("GET",url,true) 与Ajax引擎建立连接

var url = "user_validate.jsp?userId=" + trim(field.value) + "&time=" + new Date().getTime();

//设置请求方式为get,请求的url,异步提交
xmlHttp.open("GET",true)

4.url转到user_validate.jsp

调用findUserById(userId)方法,根据输入userId查询数据库,返回User或null,如果不为空,说明也存在,提示

String userId = request.getParameter("userId");
if(UserManager.getInstance().findUserById(userId) != null){
	out.println("用户代码已存在!");
}

5. 接到响应,xml.onreadystatechange判断改为最后一个状态,http协议成功200 ,AJax引擎回调,使用匿名函数

//将方法地址复制给onreadystatechange属性
<span style="white-space:pre">	</span>//类似于电话号码
	xmlHttp.onreadystatechange=function(){
		//Ajax引擎状态为成功
		if(xmlHttp.readyState == 4){
			//HTTP协议状态为成功
			if(xmlHttp.status == 200){
				if(trim(xmlHttp.responseText) != ""){
					//alert(xmlHttp.responseText);
					document.getElementById("spanUserId").innerHTML = "<font color='red'>" + xmlHttp.responseText + "</font>";	
				}else{
					document.getElementById("spanUserId").innerHTML = "";
				}
			}else{
				alert("请求失败,错误码=" + xmlHttp.status);
			}
		}
	};
	//将设置信息发送到AJax引擎
	xmlHttp.send(null);
}else{
	document.getElementById("spanUserId").innerHTML = "";
}
}


6 在后面提示span

<span id="spanUserId"></span>

另:避免重复提交

span上提示重复,提交时,为避免重复访问数据库判断,可以在客户端根据spanUserId是否有值,弹出提示框判断

if(document.getElementById("spanUserId").innerHTML != ""){
	alert("用户代码已存在!");
	userIdField.focus();
	return;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读