新手刚学AJAX,遇到问题,求高手指点.

mooninday mooninday 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想用AJAX实现一个基本的功能,就是在文本框里输入数字,是整数就提示正确,否则就提示错误.我是照着书上做的,可怎么就不能提示呢?求高手指点.

下面是HTML:
<%@page contentType="text/html; charset=GB2312"%>
<html>
<head>
<title>注册页面</title>
<script >
var xmlHttp;
function createXMLHttpRequest(){ if(window.ActiveXObject){
xmlHttp = new ActiveXObjet("Microsoft.XMLHTTP");
}
else if{
xmlHttp = new XMLHttpRequest();
}
}

function validate(){
createXMLHttpRequest();
var age = document.getElementById("age");
var url = "ValidationServlet?age="+escape(age.value);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
}

function callback(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
var mes = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;

var val = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;

setMessage(mes, val);
}
}
}

function setMessage(mes, val){
var messageArea = document.getElementById("ageMessage");
var fontColor = "red";
if(val == "true"){
fontColor="green";
}
messageArea.innerHTML =
"<font color="+fontColor+">"+mes+"</font>";
}
</script>
</head>
<body>
<form action="AdduserServlet" method="POST">
年龄:<input type="text" id="age" onchange="validate();"><br />
<div id="ageMessage"></div>
</form>
</body>
</html>

以下是Servlet:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class ValidationServlet
extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";

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

PrintWriter out = response.getWriter();
boolean passed = validateAge(request.getParameter("age"));
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
String message = "You hava entered an invalid age";
if(passed){
message="You hava entered an valid age";
}
out.println("<response>");
out.println("<passed>"+Boolean.toString(passed)+"</passed>");
out.println("<message>"+message+"</message>");
out.println("</response>");
out.close();
}

private boolean validateAge(String age){
boolean isValid = true;
if(age != null){
try{
int intAge = Integer.parseInt(age);
}
catch(NumberFormatException nfe){
System.out.println(nfe.toString());
isValid = false;
}
}else{
isValid = false;
}
return isValid;
}
}
...全文

相关推荐

AJAX新手快车道

想学C#的朋友有福了,AJAX新手教程,简单易懂!

liu75793552

ssm+ajax使用于学习ajax的新手案例

ssm+ajax新手适用 验证用户名是否存在 可以参照这个demo

谢广鲲

AJAX新手快车道,AJAX新手快速入门

AJAX新手快车道AJAX新手快车道AJAX新手快车道AJAX新手快车道AJAX新手快车道AJAX新手快车道AJAX新手快车道AJAX新手快车道AJAX新手快车道

fp521

新手学C#(pdf)

这是一个关于C#的新手教程,非常适合新手学习,其中包含C#基础知识。另外还有C#数据库开发技术、ASP.NET网络开发技术和Ajax技术,有助于大家入门与提高。

chunqiudmq

AJAX——新手快车道

AJAX——新手快车道 一、本质,一种技术与另一种技术之间,往往会有本质上的相通之处,当你 对一种技术的理解与思考越来越深入时,学习一种新技术也会更加容易。触类旁 通,举一反三的能力,就是来自于对于技术本质的追寻。 二、地图,本质上或多或少的相通,也提示着我们技术之间的相互关联,当 你了解的技术越多,了解得越是深入,在你的内心,就能建立起越发清晰的技 术地图。各种知识都有一个自然、合理的位置。那么当一个老手要学习一门新技术 的时候,他其实并非在探索一个全新的、未知的领域,而是有很多脉络可寻,也 很多已知可以帮助他们快速了解未知。 三、技巧,面对同样的未知,面对同样的难题,新手们一筹莫展,而老手们 却掌握着更多的技巧和手段,帮助他们试探可能性、缩小问题的范围、迅速定位 问题、不犯明显愚蠢的错误、甚至能够列举出更具命中力的搜索关键词,而这些 技巧,都帮助老手在前进的道路上,更少跌倒,即使跌倒,也能更快的爬起来。 作为一本写给新手的入门书籍,我们希望展现给读者的,是一个老手如何 学习新技术的过程。我们相信,这样的一个学习过程,对于新手来说,是更具有 价值的。

tianxin_008883
评论 6
收藏 已收藏
分享
返回顶部
mooninday
Ajax 52,778 成员 25,334 内容