Jquery与ajax结合实现验证用户名(邮箱是否)已经被注册过

  开发电子商城,组长让我写登录注册界面和业务逻辑的实现。功能简单,要做好可花了我这个菜鸟不少功夫。

  理顺下思路,用户在注册界面输入用户名(密码),当输入框blur的时候(就是失去焦点的时候)就在jquery中写该输入框的blur事件,这个事件里面要获得输入的用户名,然后用ajax将该用户名当做一个参数传给一个jsp文件判断是否重名,jsp就是用上java代码和数据库打交道,看看输入的用户名是否已经被注册过了,接着返回一个值,告诉ajax里面的success函数具体情况,然后根据具体情况用jquery实现提示消息。

  思路大概就是这样,代码也根据思路贴出来,以后忘记了可以查查:

先给出jsp页面代码

<f:view>//因为用的是jsf+ejb+jpa+jboss
 <h:form id="registerform">

<span class="label">用户名:</span><h:inputText id="reg_name" required="true" value="#{loginRegisterBean.name }"/>

</h:form>

</f:view>

 1、输入用户名blur后,在jquery中处理:

 

 $('#registerform\\:reg_name').blur(
             function(event){
              if($('#registerform\\:reg_name').val().length>0){//如果有输入
               $.ajax({
                   type:"post",
                   url:"../login_register/checkName.jsp",//这个jsp文件用来实现检测,,这个文件下面已经贴出,其实不一定要用到jsp来检测,可以用php文件,servlet都可以的啦

                  data:"name="+$('#registerform\\:reg_name').val(), //其实就是个参数啦
                   //dataType:"text",
                   success:function(response){ //下面的代码是根据jsp页面处理后返回的信息来显示提醒消息
                    if(response==0){
                     $('#registerform\\:reg_name').addClass('error');
                     $("#nametip").html('<img src="../img/onError.jpg"/>此用户名已经被注册过');
                     }                   
                    else{  
                     $("#nametip").html('<img src="../img/onCorrect.jpg"/>');
                     $('#registerform\\:reg_name').removeClass('error');
                     $('#registerform\\:reg_name').removeClass('focus'); 
                     }              
                    }
                  });
              }
              else{//没有输入
               $('#registerform\\:reg_name').removeClass('error');
               $('#registerform\\:reg_name').removeClass('focus');
                  $('#nametip').html('');
              }            
             }
         );

jsp判断(由于用到了jsf,ejb部分所以就有了InformationManager(一个接口),该接口的具体实现方法在ejb工程中,BaseBean主要用来JNDI查找)

<%@ page language="java" import="java.util.*,cn.edu.xmu.myibuy.service.InformationManager,java.io.PrintWriter" pageEncoding="UTF-8"%>
<%@ page import="cn.edu.xmu.myibuy.view.BaseBean" %>
<%
request.setCharacterEncoding("UTF-8");   
String name=request.getParameter("name");//获得输入的用户名
System.out.println("name="+name);
String result = "";
BaseBean ct = new BaseBean();
try{
 InformationManager mm = ct.getInformationManager();//JNDI查找
 result = mm.checkName(name);//InformationManager里面的方法,就是为了检查用户名是否重复的
 System.out.println("result="+result);
}catch(Exception e){
 e.printStackTrace();
}

//根据查找结果来给success那个函数返回消息

PrintWriter huidiao = response.getWriter();  
if(result.equals("failed")){       
 huidiao.print(0);//failed   
 }   
else{       
 huidiao.print(1);//ok
 }   
%>

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值