Type in a 5-character ZIPCODE:
In the background, a simple lookup engine identifies the appropriate STATE and CITY.
If you want to turn the CITY field into a dropdown with multiple choices (if appropriate), you could. But simply pre-populating the CITY field with your " best guess"/biggest town/whatever will probably be accurate 90+% of the time.
You've just filled in 3 postal address fields by entering only 5 characters.
At the back end, you're tying into a database that provides the lookup table (Supplied by the Postal Service? Hmmmm... Could be a moneymaker).
