<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
<html>
<head>
<title>Using Ajax for validation</title>
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest();
}
}
function validate1() { createXMLHttpRequest(); var date = document.getElementById("qxfp"); var url = "/Prj_alsk/servlet/Validaction?qxfp=" + date.value; xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = callback1; xmlHttp.send(null); }
function validate2() { createXMLHttpRequest(); var date = document.getElementById("username"); var url = "/Prj_alsk/servlet/Validaction?username=" + date.value; xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = callback2; xmlHttp.send(null); }
function callback1() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { var mes1 = xmlHttp.responseXML .getElementsByTagName("message1")[0].firstChild.data;
var val1 = xmlHttp.responseXML .getElementsByTagName("passed1")[0].firstChild.data;
setMessage1(mes1, val1);
}
}
}
function callback2() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { var mes2 = xmlHttp.responseXML .getElementsByTagName("message2")[0].firstChild.data;
var val2 = xmlHttp.responseXML .getElementsByTagName("passed2")[0].firstChild.data;
setMessage2(mes2, val2);
}
}
}
function setMessage1(message, isValid) { var messageArea1 = document.getElementById("dateMessage1");
var fontColor = "red"; if (isValid == "true") { fontColor = "green"; } messageArea1.innerHTML = "<font color=" + fontColor + ">" + message + " </font>";
}
function setMessage2(message, isValid) { var messageArea2 = document.getElementById("dateMessage2");
var fontColor = "red"; if (isValid == "true") { fontColor = "green"; } messageArea2.innerHTML = "<font color=" + fontColor + ">" + message + " </font>";
}
</script>
</head>
<body>
<center> <font color="royalblue" face=Arial><h1><b> 系统登陆</b></h1></font> <br>
<form >
<strong>岗 位</strong>:
<input type="text" id="qxfp" onchange="validate1();"/>
<span id="dateMessage1"></span> <br>
<strong>用户名</strong>:
<input type="text" id="username" onchange="validate2();"/>
<span id="dateMessage2"></span><br>
<strong>密 码</strong>:
<input type="password" id="password" onChange="validate3();"/>
<span id="dateMessage3"></span><br>
<input type="submit" value="登录"/> <input type="reset" value="清空"/>
</form>
</center>
</body>
</html>
Validaction.java
package servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*; public class Validaction extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String qxfp =request.getParameter("qxfp");
boolean passed1 = validateDate1(qxfp);
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
String message1 = "输入不符合要求!";
if (passed1) { message1 = "√"; } out.println("<response>"); out.println("<passed1>" + Boolean.toString(passed1) + "</passed1>"); out.println("<message1>" + message1 + "</message1>"); out.println("</response>"); out.close();
String username =request.getParameter("username");
boolean passed2 = validateDate2(username);
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
String message2 = "you are wrong!";
if (passed2) { message2 = "√"; } out.println("<response>"); out.println("<passed2>" + Boolean.toString(passed2) + "</passed2>"); out.println("<message2>" + message2 + "</message2>"); out.println("</response>"); out.close();
}
private boolean validateDate1(String date) {
boolean isValid = true;
if(date != null) {
if(!date.equals("abc")){
isValid = false;
}
}
else isValid = false;
return isValid;
}
private boolean validateDate2(String date) {
boolean isValid = true;
if(date != null) {
if(!date.equals("123")){
isValid = false;
}
}
else isValid = false;
return isValid;
}
}第一个文本框可以输出提示信息 为什么第二个文本框不行?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
<html>
<head>
<title>Using Ajax for validation</title>
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest();
}
}
function validate1() { createXMLHttpRequest(); var date = document.getElementById("qxfp"); var url = "/Prj_alsk/servlet/Validaction?qxfp=" + date.value; xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = callback1; xmlHttp.send(null); }
function validate2() { createXMLHttpRequest(); var date = document.getElementById("username"); var url = "/Prj_alsk/servlet/Validaction?username=" + date.value; xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = callback2; xmlHttp.send(null); }
function callback1() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { var mes1 = xmlHttp.responseXML .getElementsByTagName("message1")[0].firstChild.data;
var val1 = xmlHttp.responseXML .getElementsByTagName("passed1")[0].firstChild.data;
setMessage1(mes1, val1);
}
}
}
function callback2() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { var mes2 = xmlHttp.responseXML .getElementsByTagName("message2")[0].firstChild.data;
var val2 = xmlHttp.responseXML .getElementsByTagName("passed2")[0].firstChild.data;
setMessage2(mes2, val2);
}
}
}
function setMessage1(message, isValid) { var messageArea1 = document.getElementById("dateMessage1");
var fontColor = "red"; if (isValid == "true") { fontColor = "green"; } messageArea1.innerHTML = "<font color=" + fontColor + ">" + message + " </font>";
}
function setMessage2(message, isValid) { var messageArea2 = document.getElementById("dateMessage2");
var fontColor = "red"; if (isValid == "true") { fontColor = "green"; } messageArea2.innerHTML = "<font color=" + fontColor + ">" + message + " </font>";
}
</script>
</head>
<body>
<center> <font color="royalblue" face=Arial><h1><b> 系统登陆</b></h1></font> <br>
<form >
<strong>岗 位</strong>:
<input type="text" id="qxfp" onchange="validate1();"/>
<span id="dateMessage1"></span> <br>
<strong>用户名</strong>:
<input type="text" id="username" onchange="validate2();"/>
<span id="dateMessage2"></span><br>
<strong>密 码</strong>:
<input type="password" id="password" onChange="validate3();"/>
<span id="dateMessage3"></span><br>
<input type="submit" value="登录"/> <input type="reset" value="清空"/>
</form>
</center>
</body>
</html>
Validaction.java
package servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*; public class Validaction extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String qxfp =request.getParameter("qxfp");
boolean passed1 = validateDate1(qxfp);
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
String message1 = "输入不符合要求!";
if (passed1) { message1 = "√"; } out.println("<response>"); out.println("<passed1>" + Boolean.toString(passed1) + "</passed1>"); out.println("<message1>" + message1 + "</message1>"); out.println("</response>"); out.close();
String username =request.getParameter("username");
boolean passed2 = validateDate2(username);
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
String message2 = "you are wrong!";
if (passed2) { message2 = "√"; } out.println("<response>"); out.println("<passed2>" + Boolean.toString(passed2) + "</passed2>"); out.println("<message2>" + message2 + "</message2>"); out.println("</response>"); out.close();
}
private boolean validateDate1(String date) {
boolean isValid = true;
if(date != null) {
if(!date.equals("abc")){
isValid = false;
}
}
else isValid = false;
return isValid;
}
private boolean validateDate2(String date) {
boolean isValid = true;
if(date != null) {
if(!date.equals("123")){
isValid = false;
}
}
else isValid = false;
return isValid;
}
}第一个文本框可以输出提示信息 为什么第二个文本框不行?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货