Polytron Oto
G3+ Series
Semua Mobil Listrik Polytron
document.querySelectorAll(“.number_only”).forEach((input) => {
input.addEventListener(“input”, function () {
this.value = this.value.replace(/[^0-9.]/g, “”).replace(/(..*)./g, “$1”);
});
});
var getElementInterval = setInterval(function() {
var link = document.querySelector(“#download-row a”);
if (link) {
link.outerHTML = ``;
clearInterval(getElementInterval);
}
}, 500);
function openSaveModal(downloadLink) {
document.getElementById(‘masthead’).insertAdjacentHTML(‘afterbegin’, `
x
Isi data diri untuk meyimpan hasil manual book & dapat penawaran menarik kami
`);
function closeOverlay() {
document.getElementById(‘overlay-pop-up-download-manual-book-mobil-listrik’).remove();
}
document.getElementById(‘close-overlay-pop-up-download-manual-book-mobil-listrik-button’).addEventListener(‘click’, closeOverlay);
document.getElementById(‘close-overlay-pop-up-download-manual-book-mobil-listrik’).addEventListener(‘click’, closeOverlay);
var submitButton = document.querySelector(‘.wpcf7-submit’);
if (submitButton) {
submitButton.type = ‘button’;
submitButton.classList.add(‘button’);
submitButton.style.margin = ‘0px’;
submitButton.style.borderRadius = ’99px’;
submitButton.style.padding = ‘0px 25px’;
submitButton.addEventListener(‘click’, function (event) {
event.preventDefault();
document.getElementById(“loading-spinner”).style.display = “flex”;
var form = submitButton.closest(‘form’);
var errorMessages = [];
var isValid = true;
var fullNameInput = form.querySelector(‘input[id=”full-name”]’);
var emailInput = form.querySelector(‘input[id=”email”]’);
var phoneNumberInput = form.querySelector(‘input[id=”phone-number”]’);
const regexName = new RegExp(String.fromCharCode(
94,91,97,45,122,65,45,90,92,115,93,43,36
)); // /^[a-zA-Zs]+$/
const regexEmail = new RegExp(String.fromCharCode(
94,92,83,43,64,92,83,43,92,46,92,83,43,36
)); // /^S+@S+.S+$/
const regexNumber = new RegExp(String.fromCharCode(
94,92,100,43,36
)); // /^d+$/
const regexPhone = new RegExp(String.fromCharCode(
94,40,48,56,92,100,123,57,44,49,49,125,41,36
)); // /^(08d{9,11})$/
if (errorMessages.length > 0) {
document.getElementById(“loading-spinner”).style.display = “none”;
alert(errorMessages.join(String.fromCharCode(10))); // new line
isValid = false;
}
if (!isValid) return;
submitFormWithAjax(form)
});
function submitFormWithAjax(form) {
var formData = new FormData(form);
for (var pair of formData.entries()) {
formData[pair[0]] = pair[1];
}
fetch(form.action, {
method: “POST”,
body: formData
})
.then(response => response.text())
.then(data => {
downloadPDF(() => {
document.getElementById(“loading-spinner”).style.display = “none”;
showSuccessModal();
});
})
.catch(error => {
console.error(“Error:”, error);
document.getElementById(“loading-spinner”).style.display = “none”;
alert(“Terjadi kesalahan, silakan coba lagi.”);
});
}
function downloadPDF(callback) {
fetch(downloadLink, {
method: ‘GET’,
mode: ‘cors’ // penting
})
.then(response => {
if (!response.ok) {
throw new Error(‘Network response was not ok’);
}
return response.blob();
})
.then(blob => {
const blobUrl = window.URL.createObjectURL(blob);
const a = document.createElement(‘a’);
a.href = blobUrl;
a.download = ‘E-catalog-Mobil-Listrik.pdf’;
document.body.appendChild(a);
a.click();
a.remove();
window.URL.revokeObjectURL(blobUrl);
if (callback) setTimeout(callback, 500);
})
.catch(err => {
console.error(‘Download gagal:’, err);
});
}
function showSuccessModal() {
document.getElementById(“loading-spinner”).style.display = “none”;
var modal = document.getElementById(“overlay-pop-up-download-manual-book-mobil-listrik”);
modal.innerHTML = `
x
Terima kasih!
PDF Manual Book untuk Mobile Listrik akan segera kami kirimkan
`;
document.getElementById(‘close-overlay-pop-up-download-manual-book-mobil-listrik-button’).addEventListener(‘click’, closeOverlay);
document.getElementById(‘close-overlay-pop-up-download-manual-book-mobil-listrik’).addEventListener(‘click’, closeOverlay);
}
}
}
document.addEventListener(“DOMContentLoaded”, function () {
document.body.insertAdjacentHTML(“beforeend”, `
.spinner {
width: 50px;
height: 50px;
border: 5px solid white;
border-top: 5px solid transparent;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}