-
Notifications
You must be signed in to change notification settings - Fork 4
/
script.js
59 lines (52 loc) · 2.03 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//Loads the header and footer into the proper positions. This definitely works, regardless of what the compiler says.
$(document).ready(function() {
var rellax = new Rellax('.rellax');
$("#navbar").load("header.html");
$("#footer").load("footer.html");
});
/**
* Contact Form
*/
const url = 'https://script.google.com/macros/s/AKfycbycwU6StZFD5d1fTHyvpvmyQfKrpSJoYHt2RH94TqviG1CJhSRzGC31_qNNscTqp2LS/exec';
const contactForm = document.getElementById('contact-form');
const loadingMessage = document.querySelector('.loading');
const errorMessage = document.querySelector('.error-message');
const sentMessage = document.querySelector('.sent-message');
contactForm.addEventListener('submit', function (event) {
event.preventDefault();
const recaptchaResponse = document.getElementById('g-recaptcha-response').value;
if (!recaptchaResponse) {
errorMessage.style.display = 'block';
loadingMessage.style.display = 'none'; // Hide loading message
sentMessage.style.display = 'none'; // Hide success message
return;
}
loadingMessage.style.display = 'block'; // Show loading message
const formData = new FormData(this);
const data = Object.fromEntries(formData);
data.gCaptchaResponse = recaptchaResponse;
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'text/plain;charset=utf-8',
},
body: JSON.stringify(data),
})
.then((res) => res.json())
.then((data) => {
console.log('Successful', data);
contactForm.reset();
loadingMessage.style.display = 'none'; // Hide loading message
sentMessage.style.display = 'block'; // Show success message
errorMessage.style.display = 'none'; // Hide error message
setTimeout(function () {
sentMessage.style.display = 'none'; // Hide success message after a few seconds
}, 5000);
})
.catch((err) => {
console.log('err', err);
loadingMessage.style.display = 'none'; // Hide loading message
errorMessage.style.display = 'block'; // Show error message
sentMessage.style.display = 'none'; // Hide success message
});
});