Ajax特效 根据邮政编码获取地区信息 之一
在很多系统中,需要用户填写个人资料,其中包含地区、城市、邮政编码等信息。而邮政编码本身包含了地区和城市信息,所以可以利用此规则简化操作。用户只需要输入邮政编码,系统根据邮政编码自动取得地区信息。这样做使得用户可以获得更好的使用体验,也可以减少错误的发生。
要实现自动获取地区信息,主要考虑3个问题:邮编正确性保证,触发自动获取的时机,返回信息的格式。
1.利用onkeypress事件进行检查输入的字符
邮编均由数字组成,为了保证用户不输入数字以外的内容,可以利用onkeypress事件进行检查。当用户在邮编文本框中输入字符时,触发该事件。通过在触发函数中调用event.keyCode属性判断按键keyCode的值是否处于48~57之间(对应数字0~9)。如果在范围之外,则说明输入的不是数字,通过设置event.returnValue = false使本次按键事件失效。这样就可以保证用户输入的字符均为数字。
2.用户将焦点移出邮编文本框时自动获取地区信息
当用户将邮编输入完毕后,会将焦点移出邮编所在文本框,此时可通过onblur事件触发getPostalCode函数以获取地区信息。在向服务器发送请求之前,先判断用户输入的邮编是否是6位数字。如果数字位数不正确,则不需要向服务器发出请求。
3.将地区和城市信息作为一个字符串返回给客户端
根据邮政编码的前4位即可判断出地区和城市的信息,所以在服务器端可以先使用全部6位编码进行查找。找到信息后可直接返回,如果没有找到,可取前4位后补“00”继续查找。查找结束后,返回的信息利用“|”作为地区和城市的分隔符,在客户端使用split(“|”)方法再对字符串进行分割即可。如果无法通过邮政编码查找到地区信息,服务器将返回一个空字符串,客户端接收到以后不需要做任何操作,此时用户可以自行输入地区和城市信息。
相关文档:
前台代码:
<head runat="server">
<title>无标题页</title>
<script src="Ajax.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<div&g ......
上篇介绍了如何在Ajax客户端与服务器端之间传送简单的文本数据,其实,也可以使用XML作为数据传送、沟通的格式,Ajax客户端若要发送XML,基本上就是将XML作为字符串,在POST请求时发送,例如:
*HelloAjax.js
var xmlHttp;
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
xmlHttp = new ......
jQuery 是一个JavaScript 库,它有助于简化 JavaScript™ 以及 Asynchronous JavaScript + XML (Ajax) 编程。与类似的 JavaScript 库不同,jQuery 具有独特的基本原理,可以简洁地表示常见的复杂代码。学习 jQuery 基本原理,探索其特性和功能,执行一些常见的 Ajax 任务并掌握如何使用插件扩展 jQuery。
jQuery 是什 ......
页面中显示了3个问题,分别编号为1、2、3。每个问题表现为一个超链接,单击超链接触发loadFAQ函数。每个问题下面包含一个用于显示答案的div,id属性设置为“faqDetail+问题编号”,通过style="display:none"默认设置为隐藏。详细的函数说明请参考代码中的注释。
<%@ page contentType="text/plain; c ......
服务器端响应文件read_faq.jsp
服务器响应文件根据用户传入的faqId参数,从数据库中查找对应的FAQ详细信息。详细信息可以为包含HTML标记的内容。查询完毕后将结果返回。
<%@ page contentType="text/plain; charset=UTF-8"%>
<%@ page language="java"%>
<%@ page import="java.sql.*,ajax.db.D ......