底部模板增加newsletter表单和相应JS

hotfix/paypal-note
candice 3 years ago
parent 28db1ea44c
commit 1e07e2a36c

@ -338,6 +338,25 @@
</a></span>
</span>
</div>
<div class="footerbox newsletter_form">
<div class="list_content">
<h2 style="padding-top: 0; text-align: center;">Sign up to Our Newsletter</h2>
<p style="text-align: center;">Be the first to receive exciting updates, exclusive promotions, and valuable travel tips from our
team of experts. </p>
<form action="https://www.chinahighlights.com/secureforms/newsletter_save" method="post" id="newsletter_form" name="newsletter_form" novalidate="">
<label id="name_area">
<input type="text" name="name" id="newsletter_realname" class="contact_name" placeholder="* Your name">
<div style="color: #a31022;display: none" class="requiredArea" id="newsletter_realname_errmsg">Please fill up your name.</div>
</label>
<label id="email_area">
<input type="email" class="safyemail autoemail ui-autocomplete-input contact_email" name="email" id="newsletter_email" autocomplete="off" placeholder="* Email">
<div style="color: #a31022;display: none" class="requiredArea" id="newsletter_email_errmsg">Please fill up your email address.</div>
<div style="color: #a31022;display: none" class="requiredArea" id="newsletter_email_verify_errmsg">Please verify your email.</div>
</label>
<button id="submit_newsletter" type="button" class="sendInquiry">Inspire Me</button>
</form>
</div>
</div>
<div class="bottom_why_us">
<h2>The China Highlights Experience</h2>
<div class="table-responsive">
@ -631,6 +650,68 @@
}, 10000);
}
</script>
<!--newsletter表单 JS-->
<script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
var submitbutton = document.getElementById("submit_newsletter");
var newsletterForm = document.getElementById("newsletter_form");
submitbutton.addEventListener('click', function(event) {
var validateResult = validateNewsletterForm();
if (validateResult) {
if (typeof(grecaptcha) === "undefined") {
console.warn('grecaptcha is disabled.');
newsletterForm.submit();
} else {
grecaptcha.enterprise.ready(async () => {
const token = await grecaptcha.enterprise.execute('6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja', {action: 'ADD_TO_CART'});
var el = document.createElement("input");
el.type = "hidden";
el.name = "__grecaptcha_token__";
el.value = token;
newsletterForm.appendChild(el);
newsletterForm.submit();
submitbutton.innerText = "Submitted successfully";
});
}
}
});
});
function validateNewsletterForm() {
var result = true;
var realnameVal = document.getElementById("newsletter_realname").value;
var emailVal = document.getElementById("newsletter_email").value;
var realnameErrEl = document.getElementById("newsletter_realname_errmsg");
var emailErrEl = document.getElementById("newsletter_email_errmsg");
var emailVerifyErrEl = document.getElementById("newsletter_email_verify_errmsg");
realnameErrEl.style.display = 'none';
emailErrEl.style.display = 'none';
emailVerifyErrEl.style.display = 'none';
if (realnameVal === '') {
realnameErrEl.style.display = '';
result = false;
}
if (emailVal === '') {
emailErrEl.style.display = '';
result = false;
} else {
var emailPattern = /^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/;
if (!emailPattern.test(emailVal)) {
emailVerifyErrEl.style.display = '';
result = false;
}
}
return result;
}
</script>
<!--@PRODUCT-JS@-->
<!--@ADDON-JS@-->
<script>eval(function (p, a, c, k, e, d) {

@ -353,6 +353,25 @@
</span>
</div>
<div class="footerbox newsletter_form">
<div class="list_content">
<h2 style="padding-top: 0; text-align: center;">Sign up to Our Newsletter</h2>
<p style="text-align: center;">Be the first to receive exciting updates, exclusive promotions, and valuable travel tips from our
team of experts. </p>
<form action="https://www.chinahighlights.com/secureforms/newsletter_save" method="post" id="newsletter_form" name="newsletter_form" novalidate="">
<label id="name_area">
<input type="text" name="name" id="newsletter_realname" class="contact_name" placeholder="* Your name">
<div style="color: #a31022;display: none" class="requiredArea" id="newsletter_realname_errmsg">Please fill up your name.</div>
</label>
<label id="email_area">
<input type="email" class="safyemail autoemail ui-autocomplete-input contact_email" name="email" id="newsletter_email" autocomplete="off" placeholder="* Email">
<div style="color: #a31022;display: none" class="requiredArea" id="newsletter_email_errmsg">Please fill up your email address.</div>
<div style="color: #a31022;display: none" class="requiredArea" id="newsletter_email_verify_errmsg">Please verify your email.</div>
</label>
<button id="submit_newsletter" type="button" class="sendInquiry">Inspire Me</button>
</form>
</div>
</div>
<div class="bottom_why_us">
<h2>The China Highlights Experience</h2>
<div class="table-responsive">
@ -594,6 +613,67 @@
}, 10000);
}
</script>
<!--newsletter表单 JS-->
<script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
var submitbutton = document.getElementById("submit_newsletter");
var newsletterForm = document.getElementById("newsletter_form");
submitbutton.addEventListener('click', function(event) {
var validateResult = validateNewsletterForm();
if (validateResult) {
if (typeof(grecaptcha) === "undefined") {
console.warn('grecaptcha is disabled.');
newsletterForm.submit();
} else {
grecaptcha.enterprise.ready(async () => {
const token = await grecaptcha.enterprise.execute('6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja', {action: 'ADD_TO_CART'});
var el = document.createElement("input");
el.type = "hidden";
el.name = "__grecaptcha_token__";
el.value = token;
newsletterForm.appendChild(el);
newsletterForm.submit();
submitbutton.innerText = "Submitted successfully";
});
}
}
});
});
function validateNewsletterForm() {
var result = true;
var realnameVal = document.getElementById("newsletter_realname").value;
var emailVal = document.getElementById("newsletter_email").value;
var realnameErrEl = document.getElementById("newsletter_realname_errmsg");
var emailErrEl = document.getElementById("newsletter_email_errmsg");
var emailVerifyErrEl = document.getElementById("newsletter_email_verify_errmsg");
realnameErrEl.style.display = 'none';
emailErrEl.style.display = 'none';
emailVerifyErrEl.style.display = 'none';
if (realnameVal === '') {
realnameErrEl.style.display = '';
result = false;
}
if (emailVal === '') {
emailErrEl.style.display = '';
result = false;
} else {
var emailPattern = /^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/;
if (!emailPattern.test(emailVal)) {
emailVerifyErrEl.style.display = '';
result = false;
}
}
return result;
}
</script>
<script>/* memu js https://data.chinahighlights.com/js/mobile-menu.js */
(function (window) { function classReg(className) { return new RegExp("(^|\\s+)" + className + "(\\s+|$)") } var hasClass, addClass, removeClass; if ("classList" in document.documentElement) { hasClass = function (elem, c) { return elem.classList.contains(c) }; addClass = function (elem, c) { elem.classList.add(c) }; removeClass = function (elem, c) { elem.classList.remove(c) } } else { hasClass = function (elem, c) { return classReg(c).test(elem.className) }; addClass = function (elem, c) { if (!hasClass(elem, c)) { elem.className = elem.className + " " + c } }; removeClass = function (elem, c) { elem.className = elem.className.replace(classReg(c), " ") } } function toggleClass(elem, c) { var fn = hasClass(elem, c) ? removeClass : addClass; fn(elem, c) } var classie = { hasClass: hasClass, addClass: addClass, removeClass: removeClass, toggleClass: toggleClass, has: hasClass, add: addClass, remove: removeClass, toggle: toggleClass }; if (typeof define === "function" && define.amd) { define(classie) } else { if (typeof exports === "object") { module.exports = classie } else { window.classie = classie } } })(window);
!function (e, n, t) {

Loading…
Cancel
Save