<script src="https://cdn.jsdelivr.net/npm/intl-tel-input@14.0.3/build/js/intlTelInput.min.js"></script>
<script>
$(document).ready(function () {
var $phoneField, phoneNumber;
window.iti = {};
var lavel = ['First Name','Last Name','Phone Number'];
var placeholder = ['Your First Name ....','Your Last Name ....','Your Phone Number ....'];
var optinURL = "https://www.dumbbells2dollars.com/dummy1597591177177";
var create_url = document.location.protocol + 'https://' + document.location.hostname + '/members';
var membershipURL = "https://www.dumbbells2dollars.com/info1585485088168/e1c9f7af0c9";
// Don't change below code
var elm = ['first_name','last_name','phone'];
var form = $('#register-form form');
var i;
for (i = 2; i >= 0; i--) {
var divClone = form.find('.form-group').first().clone();
divClone.find('label').text(lavel[i]);
//divClone.find('div').removeAttr('type');
divClone.find('input').attr('id',elm[i]);
divClone.find('input').attr('name',elm[i]);
divClone.find('input').attr('placeholder',placeholder[i]);
//divClone.find('input').attr('type','custom_type');
divClone.prependTo(form);
}
$phoneField = $('input[name="phone"]');
// Enabling the phone number selector
iti = window.intlTelInput($phoneField[0], {
utilsScript: 'https://cdn.jsdelivr.net/npm/intl-tel-input@14.0.3/build/js/utils.min.js',
customPlaceholder: function (countryPlaceholder) {
return 'Phone Number Here... ' + countryPlaceholder;
},
autoPlaceholder: 'aggressive',
nationalMode: true
});
// Start predifned country code
$.get("https://ipinfo.io?token=0a807fdef30b35", function(response) {
console.log(response.ip, response.country);
iti.setCountry(response.country);
}, "jsonp");
// End predefined country code
var error = false;
form.find('button').click(function(e){
//e.preventDefault();
$('p.err').hide();
error = false;
var pass = form.find("#member_password").val();
var cpass = form.find("#member_password_confirmation").val();
var email = form.find("#member_email").val();
var isValid = window.iti.isValidNumber();
if(!isValid){
form.prepend('<p class="err">Enter a valid Phone Number.</p>');
error = true;
}
if(!isEmail(email)){
form.prepend('<p class="err">Enter a valid Email.</p>');
error = true;
}
if(pass!=cpass){
form.prepend('<p class="err">Passwords don\'t match.</p>');
error = true;
}
if(pass.length < 6){
form.prepend('<p class="err">Passwords too short.</p>');
error = true;
}
});
form.on("submit", function(e){
e.preventDefault();
if(error){ return false;}
var pass = form.find("#member_password").val();
var cpass = form.find("#member_password_confirmations").val();
var email = form.find("#member_email").val();
form.find('button').text("Submiting ....").attr("disabled","disabled");
$("#cf_contact_email").val($('#register-form form #member_email').val());
$("#cf_contact_first_name").val($('#first_name').val());
$("#cf_contact_last_name").val($('#last_name').val());
$('#cf_contact_phone').val(window.iti.getNumber(intlTelInputUtils.numberFormat.E164));
$.post(optinURL, $('#cfAR').serialize()
).done(function (data) {
$.ajax({
type: 'POST',
url: create_url,
data: form.serialize(),
success: function (data) {
console.log('member auto created');
memberCreated = true;
window.location = membershipURL;
},
fail: function (data) {
alert('Member creation failed. Try again');
window.reload();
}
});
});
});
function isEmail(e) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(e);
}
});
</script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/intl-tel-input@14.0.3/build/css/intlTelInput.min.css">
<style>
.intl-tel-input {
width:100%;
}
.intl-tel-input span{
display:inline-block !important;
}
</style>
<style>
.err{
color:red;
font-size:18px;
text-align:left;
}
</style>