数据加载中...
Welcome to javafans club
网站刚开 , 谢谢大家的到来..
当前位置| 主页>Java技术资讯>Ajax>

AJAX实例:根据邮编自动完成地址信息

2008-07-15 作者:佚名 来源:网络 阅读

  采用一个开源的AJAX库:Ajax Toybox

  描述:

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

  实现:

  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

<?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就接收到它,然后进行从数据表中取出对应的资料,再按一定的格式返回给客户端(此处是以 | 分隔)。最后客户端接收返回的资料,显示在页面上。

if(response.indexOf('|' != -1)) {
      update = response.split('|');
      document.getElementById("city").value = update[0];      document.getElementById("state").value = update[1];
}

上一篇:谈谈AJAX的安全性及AJAX安全隐患

下一篇:冷静对待流行技术风潮:忽悠一下Ajax
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,请自觉遵守互联网相关政策法规。违者移交公安机关处理
用户名: 密码:
匿名?
注册
Sitemap Links Contcat us
© 2008 Javafans.Net 苏ICP备06044966号