免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1939 | 回复: 1
打印 上一主题 下一主题

[AJAX]关于验证日期的问题(急!) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-23 16:55 |只看该作者 |倒序浏览
这段代码想要实现的效果是:
当用户输入完日期时按Enter键后显示日期格式是否正确。
代码如下:
------------客户端代码(javascript-jsp-source)-------------------

  1. <%@ page contentType="text/html;charset=UTF-8"%>
  2. <%@ page language="java"%>
  3. <%@ page pageEncoding="UTF-8"%>
  4. <%--@ page import=""--%>

  5. <html>
  6.         <head>
  7.                 <title>用户验证<title>
  8.                 <script type="text/javascript">
  9.                        
  10.                         var xmlHttp;
  11.                        
  12.                         function createXMLHttpRequest()
  13.                         {
  14.                                 if(window.ActiveXObject)
  15.                                 {
  16.                                         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  17.                                 }
  18.                                 else if(window.XMLHttpRequest)
  19.                                 {
  20.                                         xmlHttp = new XMLHttpRequest();
  21.                                 }
  22.                         }
  23.                        
  24.                         function validate()
  25.                         {
  26.                                 createXMLHttpRequest();
  27.                                 var date = document.getElementById("brithDate");
  28.                                 var url = "ValidateionSerlet?birthDate=" + escape(date.value);
  29.                                 xmlHttp.open("GET", url, true);
  30.                                 xmlHttp.onreadystatechange = callback;
  31.                                 xmlHttp.send(null);
  32.                         }
  33.                        
  34.                         function callback()
  35.                         {
  36.                                 if(xmlHttp.readyState == 4)
  37.                                 {
  38.                                         if(xmlHttp.status == 200)
  39.                                         {
  40.                                                 var mes = xmlHttp.responseXML.getElementByTagName("message")[0].firstChild.data;
  41.                                                 var val = xmlHttp.responseXML.getElementByTagName("passed").[0].firstChild.data;
  42.                                                 setMessage(mes, val);
  43.                                         }
  44.                                 }
  45.                         }
  46.                        
  47.                         function setMessage(message, isValid)
  48.                         {
  49.                                 var messageArea = document.getElementById("dateMessage");
  50.                                 var fontColor = "red";
  51.                                 if(isValid == true)
  52.                                 {
  53.                                         fontColor = "green";
  54.                                 }
  55.                                 messageArea.innerHTML = "<font color="+fontColor+">"+message+"</font>"
  56.                         }
  57.                 </script>
  58.         </head>
  59.         <body>
  60.                 <h1>验证日期</h1>
  61.                 输入日期:<input type="text" size="10" id="birthDate" onchange="validate();">
  62.                 <div id="dateMessage"></div>
  63.         </body>
  64. </html>
复制代码

----------服务器端(java-source)------------------------


  1. //package mypack;

  2. import java.io.*;
  3. import java.text.*;

  4. import javax.servlet.*;
  5. import javax.servlet.http.*;

  6. public class ValidateionSerlet extends HttpServlet
  7. {
  8.         public ValidateionSerlet(){}
  9.         protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
  10.         {
  11.                 PrintWriter out = response.getWriter();
  12.                
  13.                 boolean passed = validateDate(request.getParameter("birthDate"));
  14.                 response.setContentType("text/xml");
  15.                 response.setHeader("Cache-Control", "no-cache");
  16.                 String message = "You have entered an invalid date.";
  17.                 if(passed)
  18.                 {
  19.                         message = "You have entered an valid date.";
  20.                 }
  21.                 out.println("<response>");
  22.                 //out.println("<passed>" + (boolean.toString(passed)) + "</passed>");
  23.                 out.println("<message>" + message + "</message>");
  24.                 out.println("</response>");
  25.                 out.close();
  26.         }
  27.        
  28.         private boolean validateDate(String date)
  29.         {
  30.                 boolean isValid = true;
  31.                 if(date != null)
  32.                 {
  33.                         SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
  34.                         try
  35.                         {
  36.                                 formatter.parse(date);
  37.                         }
  38.                         catch(ParseException pe)
  39.                         {
  40.                                 isValid = false;
  41.                         }
  42.                 }
  43.                 else
  44.                 {
  45.                         isValid = true;
  46.                 }
  47.                 return isValid;
  48.         }
  49. }
复制代码

为什么实现不成功啊?

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2006-06-29 11:45 |只看该作者
那为什么会没有成功呢?

你尝试着找了是哪一步出了问题么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP