32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function () {
|
|
|
|
|
|
// Smooth scroll for anchor links
|
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
|
anchor.addEventListener('click', function (e) {
|
|
e.preventDefault();
|
|
document.querySelector(this.getAttribute('href')).scrollIntoView({
|
|
behavior: 'smooth'
|
|
});
|
|
});
|
|
});
|
|
|
|
// Basic form validation
|
|
const newsletterForm = document.querySelector('#newsletterForm');
|
|
if(newsletterForm) {
|
|
newsletterForm.addEventListener('submit', function(e) {
|
|
const emailInput = document.querySelector('#email');
|
|
if (!validateEmail(emailInput.value)) {
|
|
e.preventDefault();
|
|
alert('Please enter a valid email address.');
|
|
emailInput.focus();
|
|
}
|
|
});
|
|
}
|
|
|
|
function validateEmail(email) {
|
|
const 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(String(email).toLowerCase());
|
|
}
|
|
});
|