Код: Выделить всё
const form = document.getElementById('userForm');
const firstNameInput = document.getElementById('name_surname');
const emailInput = document.getElementById('mail');
const firstNameError = document.getElementById('firstNameError');
const emailError = document.getElementById('emailError');
const submitBtn = document.getElementById("invia");
form.addEventListener('submit', function(event) {
// Prevent the form from submitting normally
event.preventDefault();
if (validateForm()) {
return;
// You can now submit the form programmatically or clear it
}
// do animation
submitBtn.classList.add("is-active");
setTimeout(function() {
submitBtn.classList.remove("is-active");
actual_submit();
}, 2500);
})
function actual_submit() {
alert('Form was submitted')
return; // for testing purposes
$.ajax({
type: 'post',
url: '../../php/kontakt.php',
data: $('form').serialize(),
success: function() {
alert('form was submitted');
}
});
}
function validateForm() {
let isValid = true;
// Validate First Name
if (firstNameInput.value.trim() === '') {
firstNameError.textContent = 'First name is required.';
firstNameInput.classList.add('invalid'); // Add a class for styling
isValid = false;
} else {
firstNameError.textContent = '';
firstNameInput.classList.remove('invalid');
}
// Validate Email
const emailValue = emailInput.value.trim();
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; // Basic email regex
if (emailValue === '') {
emailError.textContent = 'Email is required.';
emailInput.classList.add('invalid');
isValid = false;
} else if (!emailRegex.test(emailValue)) {
emailError.textContent = 'Please enter a valid email address.';
emailInput.classList.add('invalid');
isValid = false;
} else {
emailError.textContent = '';
emailInput.classList.remove('invalid');
}
return isValid;
}< /code>
[i]
Akzeptiere [url=#privacy-3]Privacy[/url][url=/][/url]
https://www.omnigrafitalia.it/gdpr/index.php?site=https%3A%2F%2Fwww.musacomo.com%2F#googtrans(it)
[/i] Bitte alle Felder ausfüllen.
Подробнее здесь: https://stackoverflow.com/questions/797 ... red-fields