$(function() {
$(document).ready( function()
{
$('#citybox').hide();
$('#statebox').hide();
});
$("#zip").keyup(function() {
var zip_in = $(this);
var zip_box = $('#zipbox');
if (zip_in.val().length<8)
{
zip_box.removeClass('error success');
}
else if ( zip_in.val().length>8)
{
zip_box.addClass('error').removeClass('success');
}
else if ((zip_in.val().length == 8) )
{
$.ajax({
url: "http://api.zippopotam.us/JP/" + zip_in.val(),
cache: false,
dataType: "json",
type: "GET",
data: "ja/" + zip_in.val(),
success: function(result, success) {
$('#citybox').slideDown();
$('#statebox').slideDown();
places = result['places'][0];
$("#city").val(places['place name']);
$("#state").val(places['state']);
zip_box.addClass('success').removeClass('error');
},
error: function(result, success) {
zip_box.removeClass('success').addClass('error');
}
});
}
});
});
<form action="#" method="post" class="form fancy-form">
<fieldset>
<legend>住所を入力してください</legend>
<br/>
<div>
<div id="zipbox" class="control-group">
<label for="zip">住所</label>
<input type="text" class='' name="zip" id="zip" placeholder="例)100-0001"/>
</div>
</div>
<div>
<div id="citybox" class="control-group" >
<label for="city">市区</label>
<input type="text" name="city" id="city" placeholder="" />
</div>
<div id="statebox" class="control-group">
<label for="state">都道府県</label>
<input type="text" name="state" id="state" placeholder="" />
</div>
</div>
</fieldset>
</form>