//------------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吧!
本文介绍了一种利用Ajax技术实现实时检测用户名是否已被注册的方法。通过客户端JavaScript与服务器端Java Servlet交互,实现了在用户输入时即时反馈用户名是否可用的功能。
1609

被折叠的 条评论
为什么被折叠?



