<input type="text" size="20" id="userid" name="id" onkeyup="validate();">
req.onreadystatechange = callback;
01 var req;
02
03 function createXMLHttpRequestObject() {
04 if (window.XMLHttpRequest) {
05 req = new XMLHttpRequest();
06 } else if (window.ActiveXObject) { //IE
07 req = new ActiveXObject("Microsoft.XMLHTTP");
08 }
09 }
10
11 function validate() {
12 var idField = document.getElementById("userid");
13 var url = "validate?id=" + escape(idField.value);
14 createXMLHttpRequestObject();
15 req.open("GET", url, true);
16 req.onreadystatechange = callback;
17 req.send(null);
18 }
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send("id=" + escape(idTextField.value));
public class ValidateServlet extends HttpServlet {
private ServletContext context;
private List <String> listOfExpectedIds = new ArrayList<String>();
public void init(ServletConfig config) throws ServletException {
this.context = config.getServletContext();
listOfExpectedIds.add("daca");
listOfExpectedIds.add("turma");
listOfExpectedIds.add("ajax");
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
if (request.getRequestURI().endsWith("/validate")) {
processaValidate(request, response);
}
}
private void processaValidate(HttpServletRequest request, HttpServletResponse response) throws IOException {
String id = request.getParameter("id");
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
if ( listOfExpectedIds.contains(id) ) {
response.getWriter().write("<message>valid</message>");
} else {
response.getWriter().write("<message>invalid</message>");
}
}
}
<message>valid</message>
<message>invalid</message>
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
function callback() {
if (req.readyState == 4) {
if (req.status == 200) {
//
}
}
}
<message>valid</message>
function parseMessage() {
var message = req.responseXML.getElementsByTagName("message")[0];
setMessage(message.childNodes[0].nodeValue);
}
<message>
<curso>Computação</curso>
<disciplina>DACA</disciplina>
<disciplina>ATAL</disciplina>
</message>
var message = req.responseXML.getElementsByTagName("message")[0]
var curso = message.getElementsByTagName("curso")[0].childNodes[0].nodeValue;
for (var cont=0; cont < message.getElementsByTagName("disciplina").length; cont++) {
var disciplina = message.getElementsByTagName("disciplina")[cont].childNodes[0].nodeValue;
}
<html>
<head>
<script type="text/javascript">
....
</head>
<body>
<input type="text" size="20" id="userid" name="id" onkeyup="validate();">
<div id="userIdMessage"></div>
</body>
</html>
function setMessageUsingDOM(message) {
var userMessageElement = document.getElementById("userIdMessage");
if (message == "invalid") {
messageText = "<div style=\"color:red\">Invalid User Id</ div>";
} else {
messageText = "<div style=\"color:green\">Valid User Id</ div>";
}
userMessageElement.innerHTML = messageText;
}
<script type="text/javascript">
function setMessage(message) {
var userMessageElement = document.getElementById("userIdMessage"); var messageText;
if (message == "invalid") {
userMessageElement.style.color = "red";
messageText = "Invalid User Id";
} else {
userMessageElement.style.color = "green";
messageText = "Valid User Id";
}
var messageBody = document.createTextNode(messageText);
if (userMessageElement.childNodes[0]) {
userMessageElement.replaceChild(messageBody, userMessageElement.childNodes[0]);
} else {
userMessageElement.appendChild(messageBody);
}
}
</script>