Ajax特效 根据邮政编码获取地区信息 之三

 

用户操作界面postalcode.html

页面中包含3个文本框,分别表示邮政编码、地区和城市信息。当用户输入邮政编码后,系统将自动从服务器读取地区和城市信息,填充到对应文本框中。详细的函数说明请参考代码中的注释。

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<head>

<title>根据邮政编码获取省市信息</title>

<meta http-equiv="Content-type" content="text/html; charset=utf-8">

 

<script type="text/javascript">

var xmlHttp;       //用于保存XMLHttpRequest对象的全局变量

 

//用于创建XMLHttpRequest对象

function createXmlHttp() {

    //根据window.XMLHttpRequest对象是否存在使用不同的创建方式

    if (window.XMLHttpRequest) {

       xmlHttp = new XMLHttpRequest();                                     //FireFoxOpera等浏览器支持的创建方式

    } else {

       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");     //IE浏览器支持的创建方式

    }

}

 

//仅允许输入数字

function checkNumber() {

    //判断输入字符的keyCode,数字在48~57之间,超出部分返回false

    if ((event.keyCode >= 48) && (event.keyCode <= 57)) {

        event.returnValue = true;

    } else {

        event.returnValue = false;

    }

}

 

//获取地区信息的调用函数

function getPostalCode() {

    var pCodeValue = document.getElementById("postalCode").value;   //获取输入的邮政编码

 

    //当输入的邮编长度刚好等于6时,利用XmlHttpRequest对象向服务器发出异步请求

    if (pCodeValue.length == 6) {

        createXmlHttp();                                                                                     //创建XmlHttpRequest对象

        xmlHttp.onreadystatechange = writeAreaInfo;

        xmlHttp.open("GET", "postalcode.jsp?postalCode=" + pCodeValue, true);

        xmlHttp.send(null);

    }

}

 

//获取地区信息的回调函数

function writeAreaInfo() {

    if (xmlHttp.readyState == 4) {

        var areaInfo = xmlHttp.responseText;                                                //取得地区信息

 

        //当地区信息包含数据时将信息写回到文本框中

        if (areaInfo != "") {

var infoArray = areaInfo.split("|");                                                 //将地区信息使用“|”分割成数组

//数组第一部分写入area文本框

document.getElementById("area").value = infoArray[0];

//数组第二部分写入city文本框

            document.getElementById("city").value = infoArray[1];

        }

    }

}

</script>

</head>

 

<body>

<h1>请输入邮政编码</h1>

 

<p>邮政编码:<input type="text" id="postalCode" οnkeypress="checkNumber()" οnblur="getPostalCode()"></p>

<p>地区:<input type="text" id="area"></p>

<p>城市:<input type="text" id="city"></p>

</body>

</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值