请教怎么样用js判断用户名唯一,用ajax技术实现?
解决方案 »
- 关于spring的定时器问题 求解
- 不能new一个在JAR中的CLASS,高手帮忙,多谢!
- 页面静态化和伪静态化
- 请各位帮小弟看看
- spring不是很熟悉,最近想研究spring3.0的源代码,大家来发表点建议。
- 一个hibernate(OpenSessionInViewFilter)的删除问题,急! 在线等
- 求助:hibernate2----hibernate3 出现的问题.
- 在用struts编JSP时候,出现下面错误,帮帮忙!!!!!!!!!
- 小问题~~~~~~~~~~会的请进~~~~~~~不会的也来看看
- redis 并发操作引起的问题
- Hibernate one-to-many问题
- tomcat6.0问题
function checkNickName()
{
var nickName=document.getElementById("nickName").value;
var url="user.do?command=checkNickName&nickName="+encodeURI(nickName);
if(window.XMLHttpRequest)
{
req=new XMLHttpRequest();
}else if(window.ActiveXObject)
{
req=new ActiveXObject("Microsoft.XMLHTTP");
}
if(req)
{
req.open("GET",url,true);
req.onreadystatechange=backNickName;
req.send(null);
}
}
function backNickName()
{
if(req.readyState == 4)
{
if(req.status == 200)
{
var str = req.responseText;
if(str=="true"){
document.registerForm.sbm.disabled = false;
document.getElementById("testNickName").innerHTML = "";
}else{
document.getElementById("testNickName").innerHTML = str;
document.registerForm.sbm.disabled = true;
document.getElementById("testNickName").style.color = "red";
}
}else{
alert("Not able to retrieve description"+req.statusText);
}
}
}
后台有个UserAction的一个方法checkNickName()来接收用户输入的用户名,判断其是否已在数据库中存在,若用户名不存在,就
request.setAttribute("str","true"); 然后前台有js代码接收这个“str”判断其内容来执行相应的动作
我有这方面的实例,
[email protected]
我可以发给你
就拿1楼的位例子吧,先获取用户名,然后以参数的形式挂在后边,url是你请求的地址,这个请求你发给一个jsp,一个servlet或一个Action,都可以想发给谁发给谁,用request.getParameter()接,估计你肯定知道,接到名字以后你就自己去数据库里查吧,有或者没有,返回个转台就可以。
接收请求那端这么写
String name = request.getParameter();
....//你的查询语句
PrintWriter out = response.getWriter();//这个是返回消息要用的对象
out.write("Y");//你随便写一个字符串,前台判断这个字符串的值就行了,比如你查询重复了回个Y,没重复回个N
out.flush();
一楼的这句
var str = req.responseText; //这个就是你返回的值,如果你按我上边那么写str这个时候值是Y
if(str=="y"){ alert("重复");}
else{
alert("不重复");
}
就这样。上边的 if(req.readyState == 4)
{
if(req.status == 200)
{}
}
这些你完全不用管他,都是协议规定死的,你复制就可以了。