Hi everyone,

My name is Edward and I have question about AJAX, JSON, and google geocode. I have an assignment to create a webpage that has following text fields: name, street address, zip code, city, and state. The goal of this assignment is that when I fill the zip code-text field, the city and state will be automatically filled. For example, when I fill the zip-code with 94568, then the city will be Dublin, and the state will be CA. I don't know how can I connect the google geocode using the AJAX. Here is what I got so far:

<!DOCTYPE html>
<html>
<head>
<meta charset = "UTF-8">
<title>Homework 4</title>
<script type = "text/JavaScript" src ="http://maps.googleapis.com/maps/api/json?sensor=false">
function fillCityState(zip){
   if(document.getElementById("city").value !=""){
      return false;
   }
   var xhr = new XMLHttpRequest();
   xhr.open("GET","http://maps.googleapis.com/maps/api/json?zip="+zip.value,true);
   if(xhr.readyState == 4){
       var result = xhr.responseText;
       document.getElementById("city").value = result[0];
       document.getElementById("state").value = result[1];
   }
   xhr.send(null);
}
  
</script>
</head>

<body>
<form method = "get">
<table>
   <tr><td>Name:</td><td>
    <input type = "text" name = "username"/></td></tr>
   <tr><td>Street Address:</td><td>
    <input type = "text" name = "address"/></td></tr>
   <tr><td>Zip Code:</td><td>
    <input type = "text" name = "zipCode" onblur="fillCityState(this.value)"/></td></tr>
   <tr><td>City:</td><td>
    <input type = "text" name = "city" id = "city"/></td></tr>
   <tr><td>State:</td><td>
    <input type = "text" name = "state" id = "state"/></td></tr>
</table>
</form>
</body>
</html>

Could anybody help me? Anyway this assignment has been submitted already, so I am asking this just for learning.

Regards
Edward