<div class="speech-bubble">
<div id="bubble-title">
AU - Simple Checkout Form
</div>
<div id="bubble-description">
This example shows a basic AddressFinder widget integration within a form however, in this example the widget is being retrieved via JQuery instead of using pure javascript.
</div>
</div>
<form id="form-box" method="get">
<div id="form-title">Shipping Address</div>
<div class="form-header">Address Line 1</div>
<input type="search" class="form-input" id="addrs_1" placeholder="Search address here..."></input>
<div class="form-header">Address Line 2</div>
<input type="text" class="form-input" id="addrs_2"></input>
<div class="form-header">Suburb</div>
<input type="text" class="form-input" id="suburb"></input>
<div class="form-header">State</div>
<input class="form-input" id="state"></input>
<div class="form-header">Postcode</div>
<input class="form-input" id="postcode"></input>
<input class="btn" type="submit" name="next" value="NEXT">
</form>
@import url('https://fonts.googleapis.com/css?family=Open+Sans');
html, body {
padding: 1em 1.5em;
font-family: 'Open Sans', Arial, Helvetica, sans-serif;
font-size: 15px;
width: 650px;
color: #6d6d6d;
}
.speech-bubble {
position: relative;
padding: 1.5em;
border-radius: 10px;
box-sizing: border-box;
background: #eaf5fa;
box-shadow: 0px 2px 15px 0 rgba(0, 0, 0, 0.4);
margin-bottom: 40px
}
.speech-bubble::before {
content: "";
position: absolute;
width: 0;
height: 0;
bottom: -2em;
left: 42.5%;
box-sizing: border-box;
border: 1em solid black;
border-color: transparent transparent #eaf5fa #eaf5fa;
transform-origin: 0 0;
transform: rotate(-45deg);
box-shadow: -4px 4px 5px 0 rgba(0, 0, 0, 0.2);;
z-index: 0;
}
#bubble-title {
font-size: 1.3em;
margin-bottom: 8px;
}
#form-box {
height: content;
padding: 2em 3.5em;
border-top: 50px solid #E8E8E8;
border-left: 2px solid #E8E8E8;
border-right: 2px solid #E8E8E8;
border-bottom: 2px solid #E8E8E8;
}
#form-title {
font-size: 1.6em;
padding-bottom: 6px;
margin-bottom: 25px;
border-bottom: 1.5px solid #E8E8E8;
}
.form-header {
font-size: 16px;
margin-bottom: 2px;
}
.form-input {
width: 70%;
height: 30px;
font-size: 16px;
padding-left: 6px;
}
.form-input:not(:last-child) {
margin-bottom: 15px;
}
input[type=submit] {
display: block;
appearance: button;
font-size: 15px;
width: 135px;
height: 36px;
margin-left: 254px;
background-color: #E18988;
color: #FFFFFF;
border: none;
border-radius: 3px;
}
/* Forces .form-input styles onto search type */
input[type=search] {
appearance: textfield;
box-sizing: content-box;
}
(function(){
var widget, initAF = function() {
widget = new AddressFinder.Widget(
$("#addrs_1")[0],
"ADDRESSFINDER_DEMO_KEY",
'AU'
);
widget.on("result:select", function(fullAddress, metaData) {
$('#addrs_1')[0].value = metaData.address_line_1;
$('#addrs_2')[0].value = metaData.address_line_2;
$('#suburb')[0].value = metaData.locality_name;
$('#state')[0].value = metaData.state_territory;
$('#postcode')[0].value = metaData.postcode;
});
};
$( document ).ready(function() {
$.getScript('https://api.addressfinder.io/assets/v3/widget.js', initAF);
});
})();
This Pen doesn't use any external CSS resources.