数据正在传送.请稍候

梦游时光互联 » 站长茶馆 » AJAX实例:根据邮编自动完成地址信息
     
本帖主题: AJAX实例:根据邮编自动完成地址信息
2006-4-11 06:46 PM No.1 发表人:qcg  个人Blog  社区短消息  TOP
qcg
Moderator
Rank: 10Rank: 10Rank: 10


热血青年奖   优秀版主奖  
UID 226
精华 12
积分 1904
帖子 1137
体力 1129
威望 271
贡献 0
阅读权限 100
注册 2006-2-4
状态 离线
[广告]: 优惠券代码:20111001FF20% 有效期:2011.10.01/2011.10.15
采用一个开源的AJAX库:Ajax Toybox

  描述:

  在注册或购物车结帐的时候,需要用户填入个人资料,这个环节可以简练一下,我们只需客人填入邮政编码,然后就根据这个邮政编码,自动从数据库中取出相应的省,市等地址信息。这样既可以减少客户的输入,增加客户体验,又可以减少由于资料输入而产生的错误。

  实现:

QUOTE:
HTML
<script>
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(zip) {
    http.open('get', 'zipcode.php?zip='+zip);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById("city").value = update[0];
   document.getElementById("state").value = update[1];
        }
    }
}
</script>
<h3>Enter A United States Zipcode, Then Tab</h3>
<table align="center">
  <tr>
    <td>Enter Zipcode:</td>
    <td><input type="text" id="zipcode" name="zipcode" onBlur="sndReq(this.value);"/></td>
  </tr>
  <tr>
    <td>City:</td>
    <td><input type="text" id="city" name="city"/></td>
  </tr>
  <tr>
    <td>State:</td>
    <td><input type="text" id="state" name="state"/></td>
  </tr>
</table>
以上是客户输入页面,下面是服务端的处理页面'zipcode.php

QUOTE:
<?php
$dbuser = 'root';
$dbpass = '111111';

$cn = mysql_connect("localhost", $dbuser, $dbpass);
$db = mysql_select_db("ajax");

$sql = "select city, state from zipcodes where zipcode = " . $_REQUEST['zip'];
$rs = mysql_query($sql);
$row = mysql_fetch_array($rs);

echo $row['city'] . "|" . $row['state'];

mysql_close($cn);
?>
 当客户输入一个POSTCODE后,zipcode.php就接收到它,然后进行从数据表中取出对应的资料,再按一定的格式返回给客户端(此处是以 | 分隔)。最后客户端接收返回的资料,显示在页面上。

QUOTE:
if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById("city").value = update[0];
            document.getElementById("state").value = update[1];
}
[ 本帖最后由 qcg 于 2006-4-11 06:49 PM 编辑 ]










MEYU 服务器里面唯一的XXXXX站   qcg.com.cn
回复:AJAX实例:根据邮编自动完成地址信息
2006-8-21 11:07 PM No.2 发表人:xmenkk  个人Blog  社区短消息  TOP
xmenkk
Me Customer
Rank: 8Rank: 8


UID 2048
精华 1
积分 1922
帖子 1643
体力 1579
威望 24
贡献 0
阅读权限 80
注册 2006-8-20
状态 离线
[广告]: 备案信息核验单 - 现行国内备案必看
试试,谢谢楼主了!~









[Meyu]
     

Powered by Discuz!3.12 Licensed © 2001-2005
Processed in 0.006889 second(s), 7 queries , Gzip enabled
所有时间为 GMT+8, 现在时间是 2024-11-24 02:33 PM
清除 Cookies - 联系我们 - 梦游时光互联 -