设为首页 加入收藏

TOP

SSH+Ajax实现用户名重复检查
2014-11-23 20:11:05 来源: 作者: 【 】 浏览:22
Tags:SSH Ajax 实现 户名 重复 检查

1、struts.xml设置


extends="json-default">





checkresult



2、html和js,在需要提交的form页面中包含两个js文件,jquery.js(随便下载一个版本)和username_check.js(如下)


<form id="tea_reg" method="post" name="tea_reg" >
用户名<input name="user.User_LogName" type="text"id="user.User_LogName"size="20" maxlength="255" />
<label id="message">验证用户名label>



var user = {
inintEvent:
function(){
$(
"input[name='user.User_LogName']").unbind("blur"); /*移动开输入框的时候就会响应,user.User_LogName为输入框的名字*/
$(
"input[name='user.User_LogName']").bind("blur", function(){
user.checkUser($(
this).val());
});
},

checkUser:
function(logname){
var parameter = {
logname:logname
/*入参,为什么用这样表示,形参:实参?*/
};

$.post(
"userJSON_checkname.action",parameter,function(data){ /*userJSON_checkname为action的名字*/
/*这里的参数date就是在struct.xml里面定义的参数checkresult,也即action的一个属性值*/
if(data=="ok"){
$(
"#message").text("该用户名可用");
$(
"#message").css("color","blue");
}
else{
$(
"#message").text("该用户名不可用");
$(
"#message").css("color","red");
}

});

}
};
/*启动页面的时候绑定动作绑定*/
$(document).ready(
function(){
user.inintEvent();
/*绑定到用户名输入框*/
});


3、action部分,在UserAction类中添加如下代码


  public String logname;
public String checkresult;
public String getcheckresult() {/*名字要一致,用于返回数据*/
return this.checkresult;
}

public void setlogname(String logname) /*名字要一致,会自动获取传递过来的参数logname*/
{
this.logname = logname;
}
public String getlogname()
{
return this.logname;
}
public String checkName(){
User tmp;
tmp
= userservice.findUserByName(logname);/*userservice的具体方法根据自己的项目设置定义,这已经与ajax无关了*/ if(null !=tmp )
{
this.checkresult = "err";/*最终要返回的值,浏览器自动获取*/
}
else
{
this.checkresult = "ok";
}

return SUCCESS;
}


4、实现调试,在chrome中查看提交和返回的结果



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java添加事件的四种方式 下一篇内存空间切换:在内核写数据到用..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: