1. 程式人生 > >Ajax校驗text框內的內容(登入驗證)

Ajax校驗text框內的內容(登入驗證)

 頁面程式碼如下:

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <script language="javascript">

var xmlHttp;

function CreateXmlHttp(){
 if(xmlHttp==null){
  if(window.ActiveXObject){
   xmlHttp = new ActiveXObject("microsoft.XMLHTTP");
  }else if(window.XMLHttpRequest){
   xmlHttp = new XMLHttpRequest();
  }  
 }
}

function doRequest(url){
 if(xmlHttp==null){
  CreateXmlHttp();
 }

 if(xmlHttp){
  xmlHttp.open("GET",url,true);
  xmlHttp.onreadystatechange = callback;
  xmlHttp.send(null);
 }
 
}

function callback(){
 if(xmlHttp.readystate==4){
  if(xmlHttp.status==200){
   var allvalue = xmlHttp.responseText;
   var value = allvalue.substring(0,1);
   if(value=="0"){
    document.getElementById("msg").style.display = "";
    document.getElementById("msg").innerHTML = "您輸入的使用者名稱不存在!";
   }else if(value=="1"){
    document.getElementById("msg").style.display = "none";
   }else if(value=="2"){
    document.getElementById("msg").style.display = "";
    document.getElementById("msg").innerHTML = "您輸入的密碼不正確!";
   }else{
    document.getElementById("msg").style.display = "none";
   }
  }
 }
}

function checkInfo(){
   var userid = document.getElementById("userid");
   var pw = document.getElementById("pw");
   var sign = 0;
   if(userid.value==null||userid.value==""){
     alert("請輸入你的使用者名稱!");
     sign = 1;
   }
   if(pw.value==null||pw.value==""){
     alert("請輸入你的密碼!");
     sign = 1;
   }
   if(sign==1){
     return ;
   }else{
     document.all.form1.submit();
   }
  }
  </script>
  </head>
 
  <body>
  <div id="msg" style="display:none;"></div>
  <form id="form1" action="login.do?method=login" method="post">
  <table>
  <tr><td>
  使用者名稱: 
  <input type="text" id="userid" name="userid" onblur="doRequest('AjaxServlet?check=userid&userid='+this.value);"/>
  </td></tr>
  <br/>
  <tr><td>
  密碼:
  <input type="password" id="pw" name="pw" onblur="doRequest('AjaxServlet?check=pw&pw='+this.value);" />
  <input type="button" value="提交" onclick="checkInfo();" />
  </td></tr>
  </table>
  </form>
  </body>
</html>

後臺AjaxServelt程式碼:

package client.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;

import commonBean.DBConnectionOracleImpl;

public class AjaxServlet extends HttpServlet {

 public AjaxServlet() {
  super();
 }

 public void destroy() {
  super.destroy();
 }

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  doProcess(request,response);
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  doProcess(request,response);
 }
 
 public void doProcess(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
  
  String user_id = request.getParameter("userid");
  String password = request.getParameter("pw");
  String check = request.getParameter("check");
  System.out.println("userid+password+check=="+user_id+password+check);
  PreparedStatement ps = null;
  ResultSet rs = null;
  Connection conn = null;
  PrintWriter out = response.getWriter();
  if("userid".equalsIgnoreCase(check)){
   conn = DBConnectionOracleImpl.getInstance().getConnection();
   String sql = "SELECT USERID FROM SYSTEM.USERINFO WHERE USERID='"+user_id+"'";
   System.out.println("sql=="+sql);
   try {
    ps = conn.prepareStatement(sql);
    rs = ps.executeQuery();
    if(rs.next()){
     out.println("1");
     System.out.println("1");
    }else{
     out.println("0");
     System.out.println("0");
    }
   } catch (SQLException e) {
    e.printStackTrace();
   }   
  }else{
   conn = DBConnectionOracleImpl.getInstance().getConnection();
   String sql = "SELECT PASSWORD FROM SYSTEM.USERINFO WHERE PASSWORD='"+password+"'";
   System.out.println("sql=="+sql);
   try {
    ps = conn.prepareStatement(sql);
    rs = ps.executeQuery();
    if(rs.next()){
     out.println("3");
     System.out.println("3");
    }else{
     out.println("2");
     System.out.println("2");
    }
   } catch (SQLException e) {
    e.printStackTrace();
   } 
   
  }
  
  DBConnectionOracleImpl.dbClose(conn);
  try{
   if(ps!=null) ps.close();
   if(rs!=null) rs.close();
  }catch(SQLException e){
   System.out.println("ps或rs關閉失敗!");
   e.printStackTrace();
  }
  
 }

 public void init() throws ServletException {
 }

}

相關推薦

Ajaxtext內容登入驗證

 頁面程式碼如下: <%@ page language="java" import="java.util.*" pageEncoding="gb2312"% <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit

Springmvc後臺加檔案上傳完整版

後臺校驗 <!--資料驗證--> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId>

js 身份證號碼是否正確摘抄整理

/* 根據〖中華人民共和國國家標準 GB 11643-1999〗中有關公民身份號碼的規定,公民身份號碼是特徵組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。 地址碼錶示編碼物件常住戶口

Laravel ajax請求419錯誤及解決辦法CSRF驗證 阿星小棧

detail meta csdn div content pre bsp setup rip ajax請求報419 unknown status 解決辦法1:將這個接口放到api路由上,這樣可以跳過CSRF的檢查 解決辦法2: 1.在頁面上添加 <meta nam

jsp頁面實現input實時ajax任務名稱是否存在

<!-- 任務名稱 --> <span class="list_name" style="margin-left: 25px;">任務名稱:</span>

JavaWeb網上圖書商城完整項目--day02-6.ajax功能之頁面實現

ret code 需要 gis 提交 ima date else back 1 、現在我們要在regist.js中實現ajax的功能,使用用戶名到後臺查詢是否註冊,郵箱是否到後臺註冊,驗證碼是否正確的功能 我們來看regist.js的代碼 //該函數在html文檔加載完成

精簡版的Ajax用戶名

tps rip idt 數據 sage 9.png otto ges 導入 後臺操作數據庫詳見https://www.cnblogs.com/zzb-yp/p/9316184.html 步驟1、2、3、4、5完成之後。 6、jsp頁面,導入js,在js中完成觸發事件實現與數

ASP.NET全棧開發之在Vue中使用前端幸運飛艇平臺出租

ati fun 之間 成功 全棧 uml scrip UNC email 在全棧開發系列第三篇的時候有講到使用Vue進行前端驗證幸運飛艇平臺出租QQ2952777280【話仙源碼論壇】hxforum.com【木瓜源碼論壇】papayabbs.com。在那一篇博文裏,詳細講了

c#快速清除所有文字內容

如何清除Form中所有的文字框內容?分兩種情況:(1)當所有的文字框都是頂級控制元件,即它們都直接位於this.Controls(或groupBox.Controls)中,此時遍歷一遍清除即可。(2)當文字框不全處於頂級,即部分包含在某些容器控制元件內,如groupBox中,由於控制元件在窗體中是嚴格分級擺放

c#快速清除所有文本內容

oid 窗體 通用 reac type() control pan div tex 如何清除Form中所有的文本框內容?分兩種情況:(1)當所有的文本框都是頂級控件,即它們都直接位於this.Controls(或groupBox.Controls)中,此時遍歷一遍清除即可。

form表單登入非同步ajax

第一步:準備使用者登入的html頁面 <!DOCTYPE html> <html> <head> <meta content="application/xhtml+xml;charset=UTF-8" http-equiv="Content

js:可輸入可選擇的select下拉,可及時匹配包含輸入的內容相容ie

1、原理: 1.1將input輸入框和select框合併在一起,但是顯示出向下點選的按鈕: 這種比較容易做到 1.2出現輸入值能夠自動匹配的功能 動態的載入一個臨時的div出現在該input下方,當點選頁面中的空白地方,div隱藏。 1.3程式碼: <!docty

AJAX-使用者名稱是否可用

1.給使用者名稱文字框繫結失去焦點事件 <input type="text" name="username" onblur="validateUsername()" id="username"/> 2.建立XMLHttpRequest物件 if (windo

Modbus CRC16演算法--查表法已經過本人測試,工作良好

程式碼如下: uchar auchCRCHi[]= { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0

javaWeb(十一Ajax簡介、Ajax使用者名稱

這種涉及常規操作的新知識點建議直接看教程,畢竟還是要看大神的筆記:菜鳥教程:AJAX 1、Ajax簡介及其應用: Asynchronous Javascript And XML(非同步JavaScript和XML) 網頁如果想要重新整理區域性內容。 那麼需要重新載入整

Js`HTML_文字設定[span顏色字型等]

結合javascript對錶單中表格加操作 具體行為:如果前面複選框使用者選擇yes,那麼在下面一欄的表單後面加上紅色的* 問題圖例: 選擇前 選擇後 一個具體例子 func

是否是json格式

格式 con else bject UNC function lse return string function isJson(str) { if (typeof str == ‘string‘) { try { var obj=

AJAX:用戶名是否被註冊

imp 等待 key req parameter 對象 password rec itcast 1. ajax是什麽? * asynchronous javascript and xml:異步的js和xml * 它能使用js訪問服務器,而且是異步訪問! * 服務器給客

struts2ajax、javascript驗證有何區別及聯絡?

Struts2的validate資料校驗有兩種方式:1.    Action中的validate()方法Struts2提供了一個Validateable介面,這個介面中只存在validate()方法,實現這個介面的類可直接被Struts2呼叫,ActionSupport類就實現了Vadidateable介面,

html js 文字 設定span顏色字型

1.給span設定提示文字 ,設定文字大小,字型顏色 <span style="font-size:18px;"><input type="text" id="name" id="n