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(“|”)方法再对字符串进行分割即可。如果无法通过邮政编码查找到地区信息,服务器将返回一个空字符串,客户端接收到以后不需要做任何操作,此时用户可以自行输入地区和城市信息。
相关文档:
这几天一直在研究treeTable(是一款jQuery的插件),这款插件将普通的表,变成一个可以收缩的treeTable。这种表格主要应用于权限处理,可以使用户一目了然地看见各个资源的继承关系。 上图就是一个简单的treeTable图例。 但是该表是一个静态的表,表格里的内容是一次性从服务器上获取下来,然后插件根据tr的id以及clas ......
var xmlHttp;
function createXMLHttpRequestss() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest) {
& ......
图1.1 实例运行效果
1.1.1 技术要点
动态加载FAQ的过程主要是利用XMLHttpRequest(以下简称XHR)对象与服务端通信,根据用户单击的感兴趣问题动态将内容加载到页面中。在具体实现时,有两点要注意的内容。
1.对每个问题进行唯一标识
FAQ主要包含问题与解答两个部分,用户单击一个问题时,服务器必须知道 ......
本实例使用名为faq的数据库表,包含的数据如图1.2所示。具体的创建数据表语句如下:
CREATE TABLE 'faq' (
'id' int(11) NOT NULL auto_increment,
'faq' varchar(255) NOT NULL,
'detail' varchar(255) NOT NULL,
PRIMARY KEY ('id')
)
图1.2 表faq包含的数据
主 ......
服务器端响应文件read_faq.jsp
服务器响应文件根据用户传入的faqId参数,从数据库中查找对应的FAQ详细信息。详细信息可以为包含HTML标记的内容。查询完毕后将结果返回。
<%@ page contentType="text/plain; charset=UTF-8"%>
<%@ page language="java"%>
<%@ page import="java.sql.*,ajax.db.D ......