您的位置:首页 > Web前端 > JQuery

jquery的ajax实现登录名的校验

2014-07-20 11:10 281 查看
使用了struts2的JSON插件

(1)页面效果:

鼠标失去焦点时,页面会进行校验。



(2)操作步骤:

第一步:引入插件包
第二步:在struts.xml中定义:

修改:

<package name="system"namespace="/system" extends="struts-default">

修改成

<package name="system"namespace="/system" extends="json-default">

在struts.xml中添加:

<result
name="checkUser"
type="json">

<!--
表示message的值返回页面,不再是一个json的数据结果
-->



<paramname="root">message</param>



<!--对象中的某个属性被json
-->



<paramname="includeProperties">message</param>


</result>

第三步:页面的写法

/**校验登录名是否出现重复*/

functioncheckUser(o){

//alert(o.value);//dom的写法

//alert($(o).val());//jquery的写法

var logonName = $(o).val();

//以登录名作为查询条件,查询该登录名是否在数据库表中存在记录

$.post("elecUserAction_checkUser.do",{"logonName":logonName},function(data){

//如果栈顶是模型驱动的对象,取值的时候应该使用data.message的方式

//如果栈顶是模型驱动的对象的某个属性,取值的时候应该使用data即可

if(data==1){

$("#check").html("<fontcolor='red'>登录名不能为空</font>");

o.focus();

$("#BT_Submit").attr("disabled","none");

}

elseif(data==2){

$("#check").html("<fontcolor='red'>登录名已经存在</font>");

$(o)[0].focus();

$("#BT_Submit").attr("disabled","none");

}

else{

$("#check").html("<fontcolor='green'>登录名可以使用</font>");

$("#BT_Submit").attr("disabled","");

}

});

}

第四步:在Action类的代码中定义:将String类型的message放置到栈顶:例如

public String checkUser(){

//1:获取页面传递的登录名,以登录名作为条件,查询用户表,返回message

String logonName = elecUser.getLogonName();

/**

* 如果message==1,说明登录名为空,此时不能执行保存

如果message==2,说明登录名在数据库表中已经存在记录(list.size()>0),此时不能执行保存

如果message==3,说明登录名在数据库表中不存在记录(list.size()==0),此时可以执行保存

*/

String message = elecUserService.checkUserByLogonName(logonName);

//将标识message的值放置到栈顶的对象,返回到页面上

elecUser.setMessage(message);

return "checkUser";

}

第五步:在Service类的代码中查询message标识的值
public String checkUserByLogonName(String logonName) {

String message = "";

if(StringUtils.isNotBlank(logonName)){

String condition = " and o.logonName=?";

Object [] params = {logonName};

//查询获取用户信息

List<ElecUser> list = elecUserDao.findCollectionByConditionNoPage(condition, params, null);

if(list!=null && list.size()>0){

message = "2";

}

else{

message = "3";

}

}

else{

message = "1";

}

return message;

}









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: