1) Create an attribute (I used a bit –Yes/No). Call it something like “Billing Same As Shipping.”
2) Put this attribute on your form where the addresses are.
3) Add the following code to the OnChange event of this new attribute and enable:
/* Declare your variables to store the data from the Address fields on the form so we can reference them later */
var osaddress1_line1 = document.crmForm.all.address1_line1.DataValue;
var osaddress1_line2 = document.crmForm.all.address1_line2.DataValue;
var osaddress1_line3 = document.crmForm.all.address1_line3.DataValue;
var osaddress1_city = document.crmForm.all.address1_city.DataValue;
var osaddress1_stateorprovince = document.crmForm.all.address1_stateorprovince.DataValue;
var osaddress1_county = document.crmForm.all.address1_county.DataValue;
var osaddress1_postalcode = document.crmForm.all.address1_postalcode.DataValue;
var osaddress1_country = document.crmForm.all.address1_country.DataValue;
var osaddress1_fax = document.crmForm.all.address1_fax.DataValue;
var osaddress1_telephone = document.crmForm.all.address1_telephone1.DataValue;
/* Declare your variable to capture the data from the attribute being changed – Billing Same As Shipping in this case */
var oField = event.srcElement;
/* If the value of the Billing Same As Shipping field you captured is 1 (Yes), then update all of the corresponding Billing Address fields with the data from the Address fields */
if (oField.DataValue == 1)
{
document.crmForm.all.address2_line1.DataValue = osaddress1_line1;
document.crmForm.all.address2_line2.DataValue = osaddress1_line2;
document.crmForm.all.address2_line3.DataValue = osaddress1_line3;
document.crmForm.all.address2_city.DataValue= osaddress1_city;
document.crmForm.all.address2_stateorprovince.DataValue = osaddress1_stateorprovince;
document.crmForm.all.address2_county.DataValue = osaddress1_county;
document.crmForm.all.address2_postalcode.DataValue = osaddress1_postalcode;
document.crmForm.all.address2_country.DataValue = osaddress1_country;
document.crmForm.all.address2_fax.DataValue = osaddress1_fax;
document.crmForm.all.address2_telephone1.DataValue = osaddress1_telephone;
}
There you have it! All of the data from the Shipping Address fields will be copied to the Billing Address fields when you select the “Yes” option on your new attribute.
Enjoy!