程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> jsp+ajax實現無刷新,鼠標離開文本框即驗證用戶名

jsp+ajax實現無刷新,鼠標離開文本框即驗證用戶名

編輯:關於JSP

jsp+ajax實現無刷新,鼠標離開文本框即驗證用戶名,操作如下:新建一個輸入頁面,起名為input.jsp,   [java]   <%@ page contentType="text/html; charset=utf-8"%>   <html>       <head>           <title>jsp+ajax實現無刷新_鼠標離開文本框即驗證用戶名</title>           <meta http-equiv="Content-Type" content="text/html; charset=utf-8">           <style type="text/css">           .style1 {               color: #FF3333;               font-weight: bold;           }                      .style14 {               font-size: 13px           }                      .text12black {               font-size: 12px;           }           </style>       </head>       <body bottomMargin="0" leftMargin="0" topMargin="0" rightMargin="0"           marginheight="0" marginwidth="0">           <table width="748" border="0" align="center" cellpadding="0"               cellspacing="0">               <tr>                   <td height="5"></td>               </tr>           </table>           <script language="javascript">      //創建XMLHttpRequest對象     function GetO()  {       var ajax=false;        try     {         ajax = new ActiveXObject("Msxml2.XMLHTTP");        }        catch (e)     {          try       {           ajax = new ActiveXObject("Microsoft.XMLHTTP");          }          catch (E)       {           ajax = false;          }        }        if (!ajax && typeof XMLHttpRequest!='undefined')     {         ajax = new XMLHttpRequest();        }        return ajax;     }         function getMyHTML(serverPage, objID) {       var ajax = GetO();        //得到了一個html元素,在下面給這個元素的屬性賦值      var obj = document.all[objID];        //設置請求方法及目標,並且設置為異步提交     ajax.open("post", serverPage, true);     ajax.onreadystatechange = function()  {        if (ajax.readyState == 4 && ajax.status == 200)     {        //innerHTML是HTML元素的屬性,如果您不理解屬性那就理解為HTML元素的變量        //ajax.responseText是服務器的返回值,把值賦給id=passport1的元素的屬性        //innerHTML這個屬性或說這個變量表示一組開始標記和結束標記之間的內容         obj.innerHTML = ajax.responseText;        }       }        //發送請求     ajax.send(null);       }       function CheckName()    {          getMyHTML("check.jsp?groupName="+name_form.group_name.value, "passport1");       }       //這個函數的作用是當用戶的焦點從其他地方回到group_name這個輸入框時再給屬性賦回原內容     function sl(tx)    {        if(tx=='passport1')   {          document.all[tx].innerHTML = "<div class='reds' align='left'>4-20 個字符 (包括大小寫字母,中文,數字,特殊字符等) 1個漢字等於2個字符,建議使用中文。注冊後不可修改。</div>";         }       }      </script>           <form name="name_form" method=post>               <table width="60%" height="80" align="center" border="1" bordercolor="#96D6E8"                   class="text12black">                   <tr>                       <td width="22%" height="20" align="right">                           用戶名:                       </td>                       <td width="61%" align="left">                           <INPUT name="group_name" type="text" value="" size=30                               maxlength="50" onBlur="javaScript:CheckName();"                               onFocus="return sl('passport1');" />                           <br />                           <div id="passport1" style="color: red"></div>                       </td>                       <td id="passport2" valign="top">                           <div class="explain_blue" align='left'>                               <span class="gray">4-20 個字符 (包括大小寫字母,中文,數字,特殊字符等)                                   1個漢字等於2個字符,建議使用中文昵稱。注冊後不可修改。</span>                           </div>                       </td>                   </tr>               </table>           </form>       </body>   </html>   在新建一個校驗頁面,起名為check.jsp,代碼如下:   [java]   <%@ page contentType="text/html; charset=utf-8"%>   <%       String action = "";       String groupname = "";       //檢查用戶名          //用作數據庫聯接,可以根據你的情況修改,如果為測試可以不用*作記號的語句           try {              action = request.getParameter("action");           groupname = request.getParameter("groupName").trim();           if ("".equals(groupname)) {               out.println("<div class='reds' align='left'>用戶名不能為空!</div>");           } else if (groupname.length() < 4 || groupname.length() > 20) {               out.println("<div class='reds' align='left'>用戶名"                       + groupname + "不合法!(長度為4到20位,且不能使用?#=等特殊字符)</div>");           } else if ("zhangsan".equals(groupname)) {                  out.println("<div class='reds' align='left'>" + "用戶名"                       + groupname + "已被占用,請重新輸入!</div>");           } else {  www.2cto.com             out.println("您的用戶名可用");           }          } catch (Exception e) {           System.out.println(request.getServletPath() + " error : "                   + e.getMessage());       }   %>            

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved