//------------Ajax处理是否相同名字------------------- var xmlHttpRequest; //1. 创建XMLHttpRequest组件 function createXmlHttpRequest(){ if(window.ActiveXObject){ return new ActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest){ return new XMLHttpRequest(); } if(xmlHttpRequest == null){ alert("未能成功创建XMLHttpRequest组件!"); return; } } function checkSameName(sameName){ var url = "checkSameName?operatorId=" + sameName; // 1. 创建XMLHttpRequest组件 xmlHttpRequest = createXmlHttpRequest(); // 2. 设置回调函数 xmlHttpRequest.onreadystatechange = myResponse; // 3. 初始化XMLHttpRequest组件 xmlHttpRequest.open("GET",url,true); // 4. 发送请求 xmlHttpRequest.send(null); } //--处理response------ function myResponse(){ if(xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200){ var str = xmlHttpRequest.responseText; if(str == 0){ document.getElementById("theSameName").innerHTML="<font color='red'>恭喜你,可以用此ID注册!</font>"; }else{ document.getElementById("theSameName").innerHTML="<font color='red'>对不起,此ID已经注册过了!</font>"; } } }
<p>登录ID:<input type="text" name="operatorId" size="20" value= '${operatorId }' onBlur="return checkSameName(this.value)"/>例如:A00001</p>
public class CheckSameName extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String id = request.getParameter("operatorId"); if(id == null || id.equals("")){ out.println("Not none!"); }else{ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; int isRegist = 0; String sql = "select operator_ID from TOperator where operator_ID = ?"; try{ conn = DbUtil.getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, id); rs = pstmt.executeQuery(); if(rs.next()){ isRegist = 1; } }catch(SQLException e){ e.printStackTrace(); }finally{ new DbUtil().close(rs, pstmt, conn); } out.println(isRegist); out.flush(); out.close(); } } }
这个,应该算是Ajax吧!