It was an iInteresting challenge so I went ahead and hacked a quick solution using www.zippopotam.us API. It works so far. Demo here.
If you put a valid zip code (e.g. 90210), it will autofill the city and the state.
I haven’t set up an error state in case user enters a wrong zip code. But since they have an ability to override the city and state, then it shouldn’t be a big deal.
You can grab the code from my read-only version. The code is under page settings. In the body tag.
Here’s what you need to do to implement it:
Paste the code the same way under the Body tag.
Give these exact IDs to each field:
state. You can label them as you want, but the ID values have to be exactly these or the code won’t work. ID is in the field settings. The full settings on the right panel. It doesn’t show on the small popup settings.
Change the form method to POST. That’s under Form settings. Form element, not Form Block. Full settings.
Let me know if you get stuck.