Insider Javascript Sample
unknown
javascript
5 months ago
4.6 kB
11
Indexable
<script> require([ 'jquery', 'domReady!' ], function ($) { setTimeout(function () { $('#amform-form-76').on('submit', function (e) { e.preventDefault(); const formDataArray = $(this).serializeArray(); let fullname = ''; let email = ''; let phonenumber = ''; let city = ''; let address_line_1 = ''; let address_line_2 = ''; let race = ''; let gender = ''; let dob = ''; let gdpr_optin = true; let country = ''; let state = ''; let postal = ''; let sample_requestor = 'LIBRESSE® MAXI FIT TRIAL PACK (PAD & LINER)'; formDataArray.forEach(field => { switch (field.name) { case 'full-name': fullname = field.value; break; case 'email-address': email = field.value; break; case 'phone-number': phonenumber = field.value; break; case 'city': city = field.value; break; case 'address-line-1': address_line_1 = field.value; break; case 'address-line-2': address_line_2 = field.value; break; case 'race': race = $(`select[name="race"] option:selected`).text(); break; case 'gender': gender = $(`select[name="gender"] option:selected`).text(); break; case 'dob': let inputDate = new Date(field.value); let year = inputDate.getFullYear(); let month = ('0' + (inputDate.getMonth() + 1)).slice(-2); let day = ('0' + inputDate.getDate()).slice(-2); dob = `${year}-${month}-${day}`; break; case 'country': country = $(`select[name="country"] option:selected`).text(); break; case 'state': state = $(`select[name="state"] option:selected`).text(); break; case 'postal': postal = $(`select[name="postal"] option:selected`).text(); break; } }); window.insider_object = window.insider_object || {}; window.insider_object.user = { "gender": gender, "birthday": dob, "gdpr_optin": true, "name": fullname, "email": email, "email_optin": true, "phone_number": phonenumber, "sms_optin": true, "whatsapp_optin": true, "language": "en_US", "state": state, "city": city, "custom": { "address_line_1": address_line_1, "address_line_2": address_line_2, "race": race, "country": country, "postal": postal, "sample_requestor": sample_requestor } }; Insider.eventManager.dispatch('init-manager:re-initialize'); const phoneNumberPattern = /^\+60(?!([0-9])\1+$)[0-9]{8,10}$/; if (!phoneNumberPattern.test(phonenumber)) { return; } $(this).find('button[type="submit"]').text('Submitting...').prop('disabled', true); setTimeout(() => { this.submit(); }, 3000); }); }, 5000); }); </script>
Editor is loading...