zoukankan      html  css  js  c++  java
  • SSH实战 · AJAX异步校验

    前台JS代码
    /*异步验证用户名的输入格式以及是否存在*/
    function CheckUsername(){
         /*取到用户名输入框*/
         var nametxt = document.getElementById("username");
         /*获取输入的用户名值*/
         var username = nametxt.value;
         /*获取到装错误信息的span框*/
         var sp = document.getElementById("usernameError");
         var regex = /^[a-z0-9]{4,12}$/i;
         /*创建异步函数*/
         var xhr = createXmlHttp();
         /*设置监听*/
         xhr.onreadystatechange = function()
         {
              if(xhr.readyState == 4){
                  if(xhr.status == 200){
                       /*为信息提示框赋文本*/
                       sp.innerHTML = xhr.responseText;
                       /*为信息提示框赋样式*/
                       sp.className = "infoError";
                  }
              }
         }
         /*打开链接 · 不加时间戳则会引起浏览器的缓存*/
         xhr.open("GET", "${pageContext.request.contextPath}/user_FindByName.action?time="+new Date().getTime()+"&username="+username, true);
         /*发送*/
         xhr.send();
    }
    function createXmlHttp(){
         var xmlHttp;
         try{//Firefox, Opera8.0+, Safari
              xmlHttp = new XMLHttpRequest();
         } catch(e){
              try {//IE
                  xmlHttp = new ActiveXObject("Msxm12.XMLHTTP");
              } catch (e) {}
         }
         return xmlHttp;
    }
     
    后台action代码
         /**
         * AJAX异步校验用户名
         * @return String
         * @throws IOException
         */
         public String FindByName() throws IOException{
              /*调用service进行查询*/
              User existUser = userService.FindByUsername(user.getUsername());
              /*获取response对象,向页面输出信息*/
              HttpServletResponse response = ServletActionContext.getResponse();
              response.setContentType("text/html;charset=UTF-8");
              /*判断是否为空*/
              if(existUser != null){
                  //用户名已经存在,不能注册
                  /*有异常则向上抛出*/
                  response.getWriter().println("<font color='red'>用户名已存在,不可用!</font>");
              } else{
                  //用户名不存在,可以注册
                  response.getWriter().println("<font color='green'>用户名可以使用!</font>");
              }
              /*AJAX操作,不需要页面跳转*/
              return NONE;
         }
     
     
     
     
     
     
     
  • 相关阅读:
    hdu 4825 Xor Sum (01 Trie)
    hdu 5877 Weak Pair (Treap)
    bzoj 1861: [Zjoi2006]Book 书架 (splay)
    bzoj 1503: [NOI2004]郁闷的出纳员 (splay)
    hihocoder#1333 : 平衡树·Splay2 (区间操作)
    「BZOJ1251」序列终结者 (splay 区间操作)
    二进制运算符的相关运算
    Bzoj 1085: [SCOI2005]骑士精神 (dfs)
    Bzoj 1083: [SCOI2005]繁忙的都市 (最小生成树)
    Bzoj 1088: [SCOI2005]扫雷Mine (DP)
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6205073.html
Copyright © 2011-2022 走看看